Alle Version von babel eine await
Anweisung an einen _asyncToGenerator
Anruf übersetzen, hat es offensichtlich einige Unzulänglichkeiten auf:Warum übersetzt Babel async/awaist auf Regeneratoren?
- Codegröße wächst dramatisch
- Benötigt die
regeneratorRuntime
Bibliothek
Von meinem Verständnis der Syntax Ich denke, jede await
sollte einem Promise#then
Aufruf entsprechen, so der folgende Code:
try {
let user = await getUser();
console.log(user.name);
}
catch (error) {
console.error(error);
}
ist nur äquivalent zu:
let promise$of$getUser$ = getUser();
$promise$of$getUser$.then(
$result$ => console.log($result$),
$error$ => console.error($error$)
);
Auf diese Weise ist es auch möglich richtig mehr await
Aussagen zur Karte oder sogar eine Mischung aus Promise#then
und await
Aussagen zu einer Promise
Kette, also muß ich einige Fälle übersehen, wo rein Promise#then
ist nicht geeignet für await
Aussagen.
Danke, nach einigen Recherchen I Schleifen und Bedingungen finden sind möglich richtig zu behandeln, ist aber wirklich schwer, Mischungen all dieser Komplexität kann der Grund sein, nicht zu unterstützen übersetzen erwarten direkt in Promise – otakustay