let make setTimeout asynchronous:
function setTimeoutPromise(cb, ms) {
return new Promise((resolve) => {
setTimeout(() => resolve(cb()), ms);
});
}
const someValue = await setTimeoutPromise(() => {
console.log('Do you staf here ');
return 'some value';
}, 4000);
console.log(someValue);
in Node.js from v16 we don't need to rewrite it as it comes natively with