delay

Delay a promise a specified amount of time

delay

Delay a promise a specified amount of time

$ npm install --save delay
const delay = require('delay');
 
delay(200)
.then(() => {
// executed after 200 milliseconds 
});
 
somePromise()
.then(delay(100))
.then(result => {
// executed 100 milliseconds after somePromise resolves 
// the result from somePromise is passed through 
});
 
// and with Babel and async functions 
async () => {
bar();
 
await delay(100);
 
// executed 100 milliseconds later 
baz();
}();
 
// there's also delay.reject() that takes the value, and rejects it `ms` later 
Promise.resolve('foo')
.then(delay.reject(100))
.then(=> blah()) // never executed 
.catch(err => {
// executed 100 milliseconds later 
// err === 'foo' 
});
 
// you can also specify the rejection value 
Promise.resolve('foo')
.then(delay.reject(100, 'bar'))
.then(=> blah()) // never executed 
.catch(err => {
// executed 100 milliseconds later 
// err === 'bar' 
});
  • immediate-promise - Returns a promise resolved in the next event loop - think setImmediate()

MIT © Sindre Sorhus