我想知道爲什麼,如果then()的onFulfilled處理程序返回一個承諾p2,那麼如何()返回一個新的承諾p3而不是僅僅返回p2 ?爲什麼然後返回一個新的承諾,而不是返回承諾返回的onFulfilled
例子:
let p1 = new Promise(function(resolve, reject) {
resolve(42);
});
let p2 = new Promise(function(resolve, reject) {
resolve(43);
});
let p3 = p1.then(function(value) {
// first fulfillment handler
console.log(value); // 42
return p2;
});
p3.then(function(value) {
// second fulfillment handler
console.log(value); // 43
});
爲什麼不p1.then()只返回P2,而不是進行新的承諾P3的?它會有相同的結果。