我遇到了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