Implementing Thread.sleep equivalent in NodeJS using async await
As we know Javascript does not support Thread.sleep, but we can create one with similar behaviour using async, await. Following function shows how to do that.
async function sleep(ms) {
var _resolve, _reject;
var promise = new Promise((resolve, reject) => {
_reject = reject;
_resolve = resolve;
});
setTimeout(() => {
logger.info('sleep completed')
_resolve('Foo');
}, ms);
return promise;
}
Now you can use the sleep in your code with following line of code
await sleep(1000);