Why is it not waiting?
const wrapper = async () => {
console.log('start');
await setTimeout(async () => console.log('callback'),5000)
console.log('end');
}
wrapper();
Result:
start
end
callback
Expected result:
start
callback
end
Why is it not waiting?
const wrapper = async () => {
console.log('start');
await setTimeout(async () => console.log('callback'),5000)
console.log('end');
}
wrapper();
Result:
start
end
callback
Expected result:
start
callback
end
You can use a Promise
to wait:
const wait = () => new Promise(resolve => {
setTimeout(() => { console.log('callback'); resolve(); }, 5000)
});
const wrapper = async () => {
console.log('start');
await wait();
console.log('end');
}
wrapper();