Promesse.tous en JavaScript: Comment obtenir de régler la valeur de toutes les promesses?

J'ai écrit ce qui suit node.js fichier:

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);
            });
    })
}

Comme vous pouvez le voir, j'utilise Promise.all afin d'attendre les deux opérations de lecture des fichiers csv. Je ne comprends pas pourquoi mais quand je lance le code de la ligne 'console.log(result)' n'est pas engagé.

Ma deuxième question est que je veux que la fonction de rappel de Promise.all.then() accepte deux variables différentes, alors que chacun d'entre eux est le résultat de la promesse.

OriginalL'auteur CrazySynthax | 2016-11-16