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
You can’t perform that action at this time.