Versprechen.alle in JavaScript: Wie man beheben Wert für alle verspricht?

Schrieb ich Folgendes node.js Datei:

var csv = require('csv-parser');
var fs = require('fs')
var Promise = require('bluebird');
var filename = "devices.csv";
var devices;

Promise.all(read_csv_file("devices.csv"), read_csv_file("bugs.csv")).then(function(result) {
    console.log(result);
});


function read_csv_file(filename) {
    return new Promise(function (resolve, reject) {
            var result = []
            fs.createReadStream(filename)
                .pipe(csv())
                .on('data', function (data) {
                    result.push(data)
                }).on('end', function () {
                resolve(result);
            });
    })
}

Wie Sie sehen können, ich benutze Promise.all um zu warten, bis beide Operationen Lesen der csv-Dateien. Ich verstehe nicht, warum, aber wenn ich den code ausführen der Zeile 'console.log(result)' ist nicht verpflichtet.

Meine zweite Frage ist, ich will, dass die callback-Funktion von Promise.all.then() akzeptiert zwei verschiedene Variablen, wobei jede von Ihnen ist das Ergebnis der relevanten Versprechen.

InformationsquelleAutor CrazySynthax | 2016-11-16

Schreibe einen Kommentar