我遇到了highland.js问题。我需要从我的流数据创建一个函数数组,但无法让它工作。这是我的代码,但requests
始终为空。从大文件流式创建阵列
var requests = [];
_(fs.createReadStream("small.txt", { encoding: 'utf8' }))
.splitBy('-----BEGIN-----\n')
.splitBy('\n-----END-----\n')
.filter(chunk => chunk !== '')
.each(function (x) {
requests.push(function (next) {
Helpers.Authenticate()
.then(function (response1) {
return Helpers.Retrieve();
})
.then(function (response2) {
return Helpers.Retrieve();
})
.then(function() {
next();
});
});
});
console.log(requests)
async.series(requests);
我只是重新阅读你的问题。告诉我们什么'async.series(请求)'做什么?但是一般来说,如果你期望在'async.series'上面的行上看到'console.log'请求,那么当然它会返回空的原因流不会像异步一样被阻塞。 – shriek
这是async.js(https://caolan.github.io/async/docs.html#.series)库 – user1513388
我明白了。所以这与你面临的问题无关。您可能需要创建一个承诺或传递一个回调,以完成填充'requests'然后'console.log'或对其执行'async.series'。 – shriek