Promise.anyPromise增加了一个any方法,它接收一个Promise数组,当数组中的一个Promise被执行时,返回它返回的Promise。constpromises=[fetch('/endpoint-a').then(()=>'a'),fetch('/endpoint-b').then(()=>'b'),fetch('/endpoint-c').then(()=>'c'),];try{constfirst=awaitPromise.any(promises);//任何Promise被履行状态console.log(first);//→'b'}catch(error){//所有的Promise都被拒绝console.assert(errorinstanceofAggregateError);//拒绝结果数组console.log(error.errors);}如果所有输入的Promises都被拒绝,那么Promise.any会抛出AggregateError类型的异常将被返回,并且该对象的错误属性包含所有Promise拒绝的属性。注意不要将它与Promise.race方法混淆。如果数组中的任何Promise被解决或被拒绝,race方法将返回,并且any方法必须有一个被解决。如果全部被拒绝,将抛出异常。String.prototype.replaceAllString.prototype.replaceAll提供了一种方便的方法来替换所有出现的子字符串,而无需创建全局RegExp。看下面的例子,在想要替换queryString中的所有+之前,需要创建一个全局正则:constqueryString='q=query+string+parameters';queryString.replace(/\+/g,'');现在你只需要使用replaceAll方法:queryString.replaceAll('+','');逻辑赋值运算符逻辑赋值运算符是一种新的复合赋值运算符,可以组合逻辑运算符&&、||。或者??与赋值操作合并为一个命令。x&&=y;//等价于x&&(x=y)x||=y;//等价于x||(x=y)x??=y;//等价于x??(x=y)
