Я написал следующий файл node.js:
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);
});
})
}
Как видите, я использую Promise.all
, чтобы дождаться обеих операций чтения файлов csv. Я не понимаю почему, но когда я запускаю код, строка 'console.log(result)'
не фиксируется.
Мой второй вопрос: я хочу, чтобы функция обратного вызова в Promise.all.then()
две разные переменные, в то время как каждая из них является результатом соответствующего обещания.