Промисифицировать setTimeout
Напишите функцию delay(ms)
, которая возвращает промис, переходящий в состояние "resolved"
через ms
миллисекунд.
Пример использования:
delay
(
1000
)
.
then
(
(
)
=>
alert
(
"Hello!"
)
)
Такая функция полезна для использования в других промис-цепочках.
Вот такой вызов:
return
new
Promise
(
(
resolve,
reject
)
=>
{
setTimeout
(
(
)
=>
{
doSomeThing
(
)
;
resolve
(
)
;
}
,
ms)
}
)
;
Станет возможным переписать так:
return
delay
(
ms)
.
then
(
doSomething)
;
function
delay
(
ms
)
{
return
new
Promise
(
(
resolve,
reject
)
=>
{
setTimeout
(
resolve,
ms)
;
}
)
;
}