Promise.race()方法返回可實現或可拒絕的諾言,一旦可迭代的諾言中的一個諾言實現或拒絕,其價值或原因即為該諾言。
用法:
Promise.race(iterable);
參數:
- iterable:可迭代對象,例如Array,Map,String等。
範例1:
Javascript
<script>
const promise1 = new Promise((resolve, reject) => {
setTimeout(resolve, 600, "one");
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(resolve, 200, "two");
});
Promise.race([promise1, promise2]).then((value) => {
console.log(value);
});
</script>
輸出:由於promise2更快,因此可以打印兩個。
two
範例2:
Javascript
<script>
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => resolve("five"), 500);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => reject(new Error("six")), 100);
});
Promise.race([promise1, promise2]).then((value) => {
console.log(value);
});
<script>
輸出:
由於promise2比promise1快,因此它拒絕並且不打印任何內容。
支持的瀏覽器:
- 穀歌瀏覽器
- IE瀏覽器
- Firefox
- 蘋果Safari
- Opera
相關用法
- Javascript dataView.getInt16()用法及代碼示例
- Javascript RegExp toString()用法及代碼示例
- JavaScript Math cosh()用法及代碼示例
- JavaScript Date toLocaleTimeString()用法及代碼示例
- JavaScript Math random()用法及代碼示例
- JavaScript Math round()用法及代碼示例
- Javascript toString()用法及代碼示例
注:本文由純淨天空篩選整理自mihir0699大神的英文原創作品 JavaScript Promise.race() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。