Promise.raceメソッドをJavaScriptでどのように使用するのですか?
Promise.raceメソッドは、渡されたPromiseオブジェクトのいずれかが解決または拒否されると、その結果に応じて解決または拒否されるPromiseオブジェクトを返します。
Promise.raceメソッドの構文は次のとおりです。
Promise.race(iterable);
イテラブルは配列などの反復可能なオブジェクトです。
以下にPromise.raceメソッド使用例の例を示します。
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1 resolved');
}, 2000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
reject('Promise 2 rejected');
}, 1000);
});
Promise.race([promise1, promise2])
.then(result => {
console.log(result); // 输出:Promise 2 rejected
})
.catch(error => {
console.log(error); // 输出:Promise 2 rejected
});
上の例では、Promiseのオブジェクトを2つ、promise1とpromise2を作成しています。promise1は2秒後に解決されpromise2は1秒後に拒否されます。Promise.raceメソッドを使ってこの2つのPromiseオブジェクトを渡し、.then()メソッドを使って最初に解決されたPromiseオブジェクトを処理しています。promise2が先に拒否されたため、最終的な結果は「Promise 2 rejected」となりました。
Promise.raceメソッドは1つのPromiseオブジェクトのみを返し、最初に解決または拒否された結果のみ解決または拒否することに注意してください。残りのPromiseオブジェクトのステータスは無視されます。