Ich möchte das async-Schlüsselwort verwenden können, aber ich möchte, dass mein Typoskript in es5-Code kompiliert wird, damit mein Code im Browser für durchschnittliche Personen ausgeführt werden kann. Ich erhalte diesen Fehler, wenn ich versuche, async
im Visual Studio-Code zu verwenden.
Async-Funktionen sind nur verfügbar, wenn ECMAScript 2015 oder höher.
Ich dachte, dass das Targeting von es6
bedeutet, dass das Output-Javascript beim Kompilieren des Typoskripts es6
ist und es6
bei den meisten Browsern noch nicht funktioniert?
Hier ist mein tsconfig.json
:
Ich habe mich gefragt, ob das Feld lib
es funktionieren lassen könnte, weil es "es2015"
sagt, aber nicht.
Ich denke auch, dass die core-js
shim async
verfügbar macht, aber ich nehme diese Shim nur in meine index.html
auf:
<script src="node_modules/core-js/client/shim.min.js"></script>
Also ich glaube nicht, dass es async
zur Kompilierzeit verfügbar macht. Gibt es eine bessere Möglichkeit, Core-Js zu importieren?
Wie mache ich async
nutzbar, aber kann mein Code nicht auf den meisten Browsern ausgeführt werden?
ECMAScript6
wird in den meisten gängigen Browsern unterstützt.
Wie in den Kommentaren zu dieser Antwort von @loganfsmyth angegeben,
Denken Sie daran, dass "die meisten gängigen Browser" immer noch nur einen abdecken könnten kleiner Prozentsatz Ihrer Benutzerbasis.
ES6 Der ECMAScript 2015-Standard, auch bekannt als ES6, ist vollständig unterstützt, bringt diese große JavaScript-Evolution zu Safari auf macOS und iOS.
Sie werden sich ändern müssen,
%Vor%An
%Vor%TypeScript 1.7 async / Unterstützung in ES6-Zielen (Knoten v4 +) TypeScript unterstützt jetzt asynchrone Funktionen für Engines mit native Unterstützung für ES6-Generatoren, z.B. Knoten v4 und höher. Asynchronen Funktionen wird das Schlüsselwort async vorangestellt. erwarten unterbricht die Ausführung, bis eine asynchrone Funktion die Rückgabe verspricht ist erfüllt und entpackt den Wert aus dem Versprechen zurück.
Tags und Links async-await angular typescript ecmascript-6