javascript - Får feilen TypeError: Promise.any er ikke en funksjon
Jeg lærer Promise.any fra følgende nettsted. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/any IDE-en viser ingen feil, men når jeg kjører med yarn-kommandoen, får jeg følgende feil.
E:\typescript-2020-1\promise-usages-1\lib\basics1\promise-any.service.js:18
Promise.any([
^
TypeError: Promise.any is not a function
at PromiseAnyService.validateAll_Type1 (E:\typescript-2020-1\promise-usages-1\lib\basics1\promise-any.service.js:18:17)
at Object.<anonymous> (E:\typescript-2020-1\promise-usages-1\lib\test.js:35:7)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47
ERROR Command failed with exit code 1.
Jeg har skrevet den enkle koden for å teste. Vennligst hjelp meg med hvor jeg gjør feil i en Typescript-klasse.
const promise1 = Promise.reject(0);
const promise2 = new Promise((resolve) => setTimeout(resolve, 100, 'quick'));
const promise3 = new Promise((resolve) => setTimeout(resolve, 500, 'slow'));
const proms = [promise1, promise2, promise3];
Promise.any(proms).then((result) => console.log(result));
For øyeblikket bruker jeg NodeJs 12 og Typescript 3.8.3
Svar #1
Metoden Promise.any ble støttet i node.js 15.0.0, din node.js-versjon er gammel, så du kan oppdatere den og prøve igjen.
Svar #2
Etter min mening er det bedre å holde seg til det som støttes i ditt nåværende oppsett, og det ser ut til at esnext.promise ikke er der ennå, men:
Jeg er i en situasjon hvor jeg flytter en stor live-kodebase bort fra Bluebird, og denne npm-modulen gjorde det for meg (jeg bruker node v12.12.0): https://www.npmjs.com/package/promise.any