To use setTimeout
sequentially in JavaScript, we can create a promise with a callback that calls setTimeout
and use it multiple times.
For instance, we can write:
const sleep = (ms) => {
return new Promise(resolve => setTimeout(resolve, ms));
}
(async () => {
await sleep(100)
await sleep(200)
})()
We create the sleep
function that returns a promise we create with the Promise
constructor.
The callback use resolve
as the callback for setTimeout
.
ms
is the number of milliseconds to delay the call of resolve
.
Then we create an async function that calls sleep
with 100 and 200 milliseconds and call it immediately.