【发布时间】:2017-03-31 07:34:36
【问题描述】:
我编写了以下 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() 的回调函数接受两个不同的变量,而每个变量都是相关承诺的结果。
【问题讨论】:
标签: javascript node.js ecmascript-6 promise bluebird