レッスンに戻る

約束を再解決する?

以下のコードの出力は?

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

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

promise.then(alert);

出力は1です。

2番目のresolveの呼び出しは無視されます。なぜなら、reject/resolveの最初の呼び出しだけが考慮されるからです。さらなる呼び出しは無視されます。