#javascript
#javascript
Вопрос:
Могу ли я подтвердить, что аргументом для .then
(первого или второго) обратного вызова всегда будет внутреннее свойство result Promise
объекта .then
, которое включено? В этом примере, я полагаю, 5
это внутреннее свойство result объекта Promise promise
.
let promise = new Promise (function(resolve, reject) {
resolve(5)
})
promise.then(value => console.log(value))
Фрагмент для дополнительного вопроса
console.log(
new Promise(function(resolve, reject) {
resolve(5);
}).then(value => 6)
)
Комментарии:
1. Да, почему вы ожидали чего-то другого?
2. @Bergi Спасибо, просто хотел убедиться, что в статье, которую я читаю, это явно не указано. Пока вы здесь, можно ли также подтвердить, что
.then
возвращает новый объект Promise, внутреннее свойство result которого имеет то же значение, что и функция-исполнитель, возвращаемая.then
? (Я добавил дополнительный фрагмент к вопросу, который, я думаю, является примером этого утверждения)3. Нет, у
.then
a нет «функции-исполнителя». И если вы имеете в виду обратный вызов, то, во-первых, их два, и, во-вторых, они могут возвращать другое обещание, а не простое значение (или, в-третьих, даже выдавать исключение), и в этом случае.then(…)
обещание не будет иметь возвращаемого значения обратного вызова в качестве результата.4. @Bergi Да, я имел в виду обратный вызов. Хорошо, теперь я вижу это в документации MDN. Спасибо, что разъяснили это для меня