Я новичок в JS и пишу несколько простых REST API в Node.js для моего приложения. Где-то внутри кода я хочу подождать около 5 секунд.
Я так запутался в использовании Promise и обычного метода тайм-аута и вызова функции где-то еще. следующим образом:
const sleep = (time) => {
return new Promise(resolve => {
setTimeout(() => {
resolve()
console.log('5 seconds');
}, time);
})
}
и затем вызвать функцию:
sleep(5000)
ИЛИ
const sleep = (time) => {
return new Promise(resolve => {
setTimeout(() => {
resolve()
console.log('5 seconds');
}, time);
})
}
, а затем вызвать функцию:
sleep(5000).then(() => console.log('5 seconds passed'))
ИЛИ
const sleep = (time) => {
return new Promise(resolve => {
setTimeout(() => {
resolve()
console.log('5 seconds');
}, time);
})
}
async function wait(sleepTime) {
await sleep(sleepTime)
}
и затем вызвать функцию:
wait(5000)
Я что-то не так делаю? Потому что во всех трех случаях я на самом деле получаю время ожидания 5 секунд, но поскольку функция возвращает Promise, я должен использовать .then()
, если я хочу использовать Promise.