Verwenden von nodejs async und Request-Modul

7

Ich versuche async zu verwenden und Modul zusammen zu beantragen, aber ich verstehe nicht, wie die Rückrufe bestanden werden. Mein Code ist

%Vor%

Ich versuche, 3 Dateien in Reihenfolge zu holen und die Ergebnisse zu verketten. Mein Kopf steckt in Rückrufen, die ich versucht habe, und den verschiedenen Kombinationen, die mir einfielen. Google war nicht viel Hilfe.

    
andrei 16.06.2012, 11:25
quelle

2 Antworten

32

Die Anfrage ist eine asynchrone Funktion, sie gibt nichts zurück, wenn ihre Aufgabe erledigt ist, ruft sie zurück. In Beispiel anfordern sollten Sie Folgendes tun:

%Vor%     
Mustafa 16.06.2012, 12:36
quelle
3

In Ihrem Beispiel wird die Funktion fetch dreimal aufgerufen, einmal für jeden der Dateinamen im Array, der als erster Parameter an async.map übergeben wurde. Ein zweiter Callback-Parameter wird ebenfalls in fetch übergeben, aber dieser Callback wird vom async-Framework bereitgestellt und Sie müssen ihn aufrufen, wenn Ihre fetch -Funktion ihre Arbeit abgeschlossen hat und ihre Ergebnisse diesem Callback als zweiten Parameter übergeben. Der Rückruf, den Sie als dritten Parameter für async.map bereitstellen, wird aufgerufen, wenn alle drei Aufrufe von fetch den ihnen bereitgestellten Rückruf aufgerufen haben.

Siehe Ссылка

Um Ihre spezifische Frage im Code zu beantworten, wird die von Ihnen angegebene Rückruffunktion als Rückruf am Ende aller Anfragen ausgeführt. Wenn Sie einen Rückruf an fetch übergeben möchten, tun Sie etwas wie folgt:

%Vor%     
JohnnyHK 16.06.2012 12:39
quelle