Die angeforderte Download-Datei von Node.js ist manchmal leer oder nicht vorhanden

Ich schreibe einen Downloader mit node.js und dem Anforderungsmodul. Ich benutze die Stream-Syntax

var r = request(url).pipe(fs.createWriteStream(targetPath));
r.on('error', function(err) { console.log(err); });
r.on('finish', cb);

Um die Datei herunterzuladen, speichern Sie sie und rufen Sie den Rückruf auf. In fast 50% der Fälle ist die Datei jedoch entweder leer oder wird überhaupt nicht erstellt. Neinerror Ereignis wird ausgegeben. Es scheint wie dasfinish Ereignis wird ausgelöst, obwohl die Datei noch nicht (vollständig) geschrieben wurde.

Kontext: Das Ganze ist eingepacktasync.each Anrufe.

Irgendwelche Hinweise? Vielen Dank!

Antworten auf die Frage(1)

Ihre Antwort auf die Frage