Затримка на промісах
Вбудована функція setTimeout
використовує колбек-функції. Створіть альтернативу яка базується на промісах.
Функція delay(ms)
повинна повертати проміс, який перейде в стан resolved
через ms
мілісекунд, так щоб ми могли додати до нього .then
:
function delay(ms) {
// ваш код
}
delay(3000).then(() => alert('виконалось через 3 секунди'));
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
delay(3000).then(() => alert('виконалось через 3 секунди'));
Зауважте що resolve
викликається без аргументів. Ми нічого не повертаємо з delay
, просто гарантуємо затримку.