JavaScript is asynchronous by design, so implementing a sleep function can be tricky.
The closest you can get to pausing execution for some time is by using Promise and await.
The function sleep accepts a single argument ms and returns a Promise that resolves in ms milliseconds.
const sleep = (ms) => new Promise((resolve, reject) => setTimeout(() => resolve(), ms));
You can test the sleep function in your browser console with the following code.
console.log(1);
await sleep(1000);
console.log(2);
This will add a one-second delay (1000 ms) between the console logs.