Скажем, у меня есть функция, которая возвращает разрешенное обещание, подобное этому:
let a = () => {return new Promise(res => res(1))}
, а затем я then-ify
это так:
a()
.then(val => {return new Promise(res => res(1))})
Здесь then
содержит обработчик, который возвращает обещание, разрешенное с помощью 1
, поэтому блок then
также возвращает обещание, разрешенное с помощью 1
. Это правильно?
Затем скажите, что вместо этого у нас есть:
a()
.then(val => {return 1})
Обработчик возвращает 1
вместо возврата обещания, разрешенного с помощью 1
.
Что я хочу знать: Возвращает ли блок then
обещание, разрешенное с помощью 1
в обоих этих сценариях ios, даже если один обработчик возвратил разрешенное обещание, а другой только что вернул значение? Другими словами, обрабатывает ли блок then
обработчики, которые возвращают обещания, разрешенные со значением, так же, как они работают с обработчиками, которые возвращают само значение?