Я следил за учебником по разработке полного стека. На стороне клиента есть файл 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
}
Я был изначально сбит с толку в этом секунде () , потому что я думал, что разрешенное обещание (
в этом случае) возвращает разрешенное значение (
в этом случае). Казалось, что второе тогда () было вызвано на то, что будет строкой или объектом JavaScript. Но теперь я знаю (или думаю, что знаю), что thens не просто зарегистрируйте обратный вызов для предыдущего обещания, они также создают новый, который будет решен с той ценой, которое обратный вызов будет выплюнуть, когда он запускается. Создает новое обещание и регистрирует обратный вызов, который использует разрешенное значение, связанное с предыдущим обещанием, которое хранится где -то , скрыто от пользователя (под этим я имею в виду, что это не является свойством обещания, хотя я не совсем уверен, где разрешенная ценность «живет»). Когда предыдущее обещание выполняется, его значение передается в зарегистрированный обратный вызов. И что бы этот обратный вызов выплеснул, будет храниться где -то и «связан» с новым обещанием. Мое текущее понимание правильно? И где это где -то ?
Подробнее здесь:
https://stackoverflow.com/questions/796 ... ses-stored