約束を再解決する?
以下のコードの出力は?
let promise = new Promise(function(resolve, reject) {
resolve(1);
setTimeout(() => resolve(2), 1000);
});
promise.then(alert);
出力は1
です。
2番目のresolve
の呼び出しは無視されます。なぜなら、reject/resolve
の最初の呼び出しだけが考慮されるからです。さらなる呼び出しは無視されます。