fs.writeFile in einem Versprechen, asynchron-synchrone Zeug

9

Ich brauche Hilfe mit meinem Code. Ich bin neu bei Nodejs und habe eine Menge Probleme damit. Was ich versuche zu tun:

  • 1) Holen Sie eine .txt-Datei mit Amazon-Produkten (ASINs)
  • 2) Holen Sie alle Produkte mit dem Paket amazon-product-api

  • 3) Speichern Sie jedes Produkt in einer .json-Datei

Mein Code funktioniert nicht. Ich denke, ich habe mit diesem asynchronen Zeug versaut - hilf mir!

%Vor%     
Markus Schmidlich 13.08.2015, 02:04
quelle

4 Antworten

28

Da fs.writefile ein traditioneller asynchroner Callback ist, müssen Sie der Promise-Spezifikation folgen und eine neue Zusicherung zurückgeben, indem Sie sie wie folgt mit einem Resolve- und Rejection-Handler umschließen:

%Vor%

Also in Ihrem Code würden Sie es gleich nach Ihrem Aufruf von .then()

verwenden %Vor%     
AntonB 04.02.2016 20:38
quelle
5

Update September 2017 : fs-promise wurde zugunsten von fs-extra .

Ich habe es nicht benutzt, aber Sie könnten in fs-promise nachsehen. Es ist ein Knotenmodul, das:

  

Proxies alle Async-fs-Methoden, die sie als Promises / A + -kompatibel anzeigen   Versprechen (wenn, Q, etc). Übergibt alle Synchronisierungsmethoden als Werte.

    
rouan 17.11.2015 13:00
quelle
5

sagen

%Vor%

Ссылка

Dies ist weniger anfällig für Fehler als die Antwort mit der höchsten Bewertung

    
naiad 18.11.2017 00:35
quelle
-1

Für einfach zu asynchrone konvertieren alle Callback zu versprechen, einige Bibliothek wie "bluebird" zu verwenden.

%Vor%

Versuchen Sie die Lösung mit Versprechen (Bluebird)

%Vor%     
trquoccuong 13.08.2015 02:12
quelle