Ich verwende babel
, um meinen [email protected]
-Code zu übertragen, und ich bleibe bei den Versprechen.
Ich brauche allSettled
-Funktion, die ich zB in q
und bluebird
oder angular.$q
verwenden könnte.
In babels Core-js Promise
gibt es keine allSettled
Methode.
Zur Zeit verwende ich q.allSettled
als Workaround:
import { allSettled } from 'q';
Gibt es so etwas in Babel Polyfill? Alternativ, was ist ein guter Algorithmus für mich zu versuchen zu implementieren?
Alternativ, was ist ein guter Algorithmus für mich zu versuchen zu implementieren?
Wenn Sie sich die Implementierung von q.allSettled ansehen Ich sehe, es ist eigentlich ziemlich einfach zu implementieren. Hier ist, wie Sie es mit ES6 Promises implementieren können:
%Vor%Hier ist mein Versuch, etwas Ähnliches, ich habe Newsletter-Service und in meinem Fall wollte ich meine allSettled Versprechen mit einem Array aller Ergebnisse (Ablehnungen und Resolutionen), IN ORDER , einmal zu lösen die E-Mail-Versprechen sind erledigt (alle E-Mails sind ausgegangen):
%Vor%Hier ist eine weitere Einstellung mit derselben Funktionalität: spex.batch
Der Quellcode wäre zu viel, um ihn erneut zu veröffentlichen Hier, hier ist nur ein Beispiel aus der Stapelverarbeitung benutze es:
%Vor%Dies gibt aus:
%Vor% Lassen Sie uns jetzt einen Fehler machen, indem Sie getWord
auf Folgendes setzen:
Jetzt ist die Ausgabe:
%Vor%d. Das gesamte Array wird abgeglichen und meldet indexgebundene Ergebnisse.
Und wenn wir statt des gesamten Grundes getErrors()
nennen:
dann ist die Ausgabe:
%Vor%Dies dient nur dazu, den schnellen Zugriff auf die Liste der aufgetretenen Fehler zu vereinfachen.
Tags und Links javascript node.js ecmascript-6 babeljs es6-promise