Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
JavaScript delayed promise
// Sometimes it is helpful/necessary to create a promise, that delays the execution.
// This snippet returns a promise, that is resolved after a given timeout.
// The `min` and `max` arguments are used to calcuate a random delay in the range between `min` and `max`
let delay = (min, max) => {
return new Promise(resolve => {
setTimeout(resolve, Math.random() * (max - min) + min)
// In your actual code you use it as follows:
delay(200, 1000).then(() => {
// your delayed code here
// I use the above for delaying mocked requests with the `fetch-mock` library.
fetchMock.mock('begin:/my/dummy/url', (url, options) => {
return delay(200, 1000).then(() => {
// my code creating the response object where I look at the options for post parameters
return responseObject
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.