В результате вы получите setTimeout
timeoutID
, номер, назначенный браузером для отслеживания всех отдельных вызовов setTimeout
.
Ошибка, которую вы делаете, здесь :
let f = Promise.resolve(setTimeout(() => Promise.resolve(15), 1000));
Вы создаете Promise
, который мгновенно разрешается с помощью Promise.resolve
и мгновенно разрешается с помощью setTimeout(() => Promise.resolve(15), 1000)
. Вероятно, это первый тайм-аут в сценарии, поэтому timeoutID
равен 1
.
Вы хотите разрешить обещание с помощью 15
, а не setTimeout[...]
. То, что вы должны сделать для достижения результата, к которому вы стремитесь, это:
let f = new Promise(resolve => setTimeout(() => resolve(15), 1000));
То есть создайте новый Promise
, который запускает новый setTimeout
, который запускается через 1000 мс и разрешает содержащий Promise
.