收到错误 TypeError: Promise.any 不是函数

Deb*_*eba 5 javascript node.js promise typescript

我正在从以下站点学习 Promise.any。\n https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any \nIDE 不显示任何错误,但使用yarn命令运行时,出现以下错误。

\n
E:\\typescript-2020-1\\promise-usages-1\\lib\\basics1\\promise-any.service.js:18                                                \n        Promise.any([                                                                                                      \n                ^                                                                                                                                                                              \nTypeError: Promise.any is not a function                                                                                   \n    at PromiseAnyService.validateAll_Type1 (E:\\typescript-2020-1\\promise-usages-1\\lib\\basics1\\promise-any.service.js:18:17)\n    at Object.<anonymous> (E:\\typescript-2020-1\\promise-usages-1\\lib\\test.js:35:7)                                         \n    at Module._compile (internal/modules/cjs/loader.js:1137:30)                                                            \n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)                                              \n    at Module.load (internal/modules/cjs/loader.js:985:32)                                                                 \n    at Function.Module._load (internal/modules/cjs/loader.js:878:14)                                                       \n    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)                                    \n    at internal/main/run_main_module.js:17:47                                                                              \n\xe2\x80\x89ERROR\xe2\x80\x89 Command failed with exit code 1.      \n\n                                                                         \n
Run Code Online (Sandbox Code Playgroud)\n

我写了简单的代码来测试。请帮助我在 Typescript 课程中做错的地方。

\n
const promise1 = Promise.reject(0);\nconst promise2 = new Promise((resolve) => setTimeout(resolve, 100, \'quick\'));\nconst promise3 = new Promise((resolve) => setTimeout(resolve, 500, \'slow\'));\n\nconst proms = [promise1, promise2, promise3];\n\nPromise.any(proms).then((result) => console.log(result));\n
Run Code Online (Sandbox Code Playgroud)\n

目前我正在使用 NodeJs 12 和 Typescript 3.8.3

\n

小智 11

Node.js 15.0.0 支持Promise.any方法,您的 Node.js 版本较旧,您可以更新并重试。


小智 4

恕我直言,最好坚持使用当前设置中支持的任何内容,而且 esnext.promise 似乎还不存在,但是:

我现在的情况是,我正在从 Bluebird 移植一个相当大的实时代码库,这个 npm 模块为我做到了这一点(我在节点 v12.12.0 上): https ://www.npmjs.com/package/承诺.任何