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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。