new Promise(function(resolve, reject) {
setTimeout(() => resolve(1), 1000); // (*)
}).then(function(result) { // (**)
alert(result); // 1
return result * 2;
}).then(function(result) { // (***)
alert(result); // 2
return result * 2;
}).then(function(result) {
alert(result); // 4
return result * 2;
});
return result * 2;передаёт значение в следующий обработчик?
// then это дословно - дальше, изначально мы возвращаем 1
setTimeout(() => resolve(1), 1000);
// 1 это результат промиса, с помощью then мы продолжаем манипуляции с вернувшим промисом значением
.then(function(result) { // (**)
alert(result); // 1 - результат промиса
return result * 2; // умножаем его на 2 и возвращаем, теперь 2 результат текущей обработки, следующим then мы уже получим 2 где проводим с ним аналогичные действия.
})