返回課程

重新解析承諾?

下列程式碼的輸出是什麼?

let promise = new Promise(function(resolve, reject) {
  resolve(1);

  setTimeout(() => resolve(2), 1000);
});

promise.then(alert);

輸出為:1

第二次呼叫 resolve 會被忽略,因為只會考慮 reject/resolve 的第一次呼叫。後續呼叫會被忽略。