In meinem NodeJS ausführen ich brauche 2 oder 3 API-Aufrufe zu machen, und jeder wird einige Daten zurück. Nachdem alle API-Aufrufe abgeschlossen sind, möchte ich alle Daten in einem einzigen JSON-Objekt sammeln, um sie an das Frontend zu senden.Wie mehrere Asynchron-Funktionen dann ausführen Rückruf Code
Ich weiß, wie dies die API-Rückrufe mit tun (der nächste Anruf in der vorherigen Aufruf der Rückruf passieren wird), aber dies wäre langsam:
//1st request
request('http://www.example.com', function (err1, res1, body) {
//2nd request
request('http://www.example2.com', function (err2, res2, body2) {
//combine data and do something with it
});
});
Ich weiß, dass Sie auch etwas ähnliches und sauberere tun könnte mit Versprechungen, aber ich denke, dass das gleiche Konzept gilt, wo der nächste Anruf nicht ausgeführt wird, bis der aktuelle beendet ist.
Gibt es eine Möglichkeit alle Funktionen zur gleichen Zeit zu nennen, aber für meinen letzten Code-Block zu warten, für alle API vor der Ausführung zu vervollständigen und liefern Daten rufen?
Sie können auch mit 'bluebird' wenn Sie – corvid
wollte; https://en.wikipedia.org/wiki/Immediately-invoked_function_expression
TL. Es gibt einfach keinen super sauberen Weg, es zu tun. Es ist trivial mit Versprechen aber. –