Где хранятся разрешенные значения обещаний?Javascript

Форум по Javascript
Ответить
Anonymous
 Где хранятся разрешенные значения обещаний?

Сообщение Anonymous »

Я следил за учебником по разработке полного стека. На стороне клиента есть файл API.JS, который содержит следующий фрагмент кода: < /p>

Код: Выделить всё

var API = {

api: axios.create({ baseURL: "http://localhost:5000/api" }),

// a bunch of functions

getAllAuthors: function() {
return this.api.get(`/author`)
.then(response => response.data)
},

// a bunch of functions
}
< /code>
А также есть файл Actions.js, который содержит следующее: < /p>
var actions = {

// a bunch of functions

refreshMessage: function(author) {
if (!author) {
API.getAllAuthors().then(response => {

// some code

})
}
}

// a bunch of functions
}
Я был изначально сбит с толку в этом секунде () , потому что я думал, что разрешенное обещание (

Код: Выделить всё

API.getAllAuthors()
в этом случае) возвращает разрешенное значение (

Код: Выделить всё

response.data
в этом случае). Казалось, что второе тогда () было вызвано на то, что будет строкой или объектом JavaScript. Но теперь я знаю (или думаю, что знаю), что thens не просто зарегистрируйте обратный вызов для предыдущего обещания, они также создают новый, который будет решен с той ценой, которое обратный вызов будет выплюнуть, когда он запускается. Создает новое обещание и регистрирует обратный вызов, который использует разрешенное значение, связанное с предыдущим обещанием, которое хранится где -то , скрыто от пользователя (под этим я имею в виду, что это не является свойством обещания, хотя я не совсем уверен, где разрешенная ценность «живет»). Когда предыдущее обещание выполняется, его значение передается в зарегистрированный обратный вызов. И что бы этот обратный вызов выплеснул, будет храниться где -то и «связан» с новым обещанием. Мое текущее понимание правильно? И где это где -то ?

Подробнее здесь: https://stackoverflow.com/questions/796 ... ses-stored
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»