a promise that resolves (or rejects if should_reject = true) after a certain number of milliseconds.

this is a useful shorthand for creating delays, and then following them up with a .then call. you may also use this as a sleep/wait function in an async context where await is available.