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
입니다. 그래서 당신이 직면하고있는 문제와 관련이 없습니다. promises를 만들거나 스트림에 대한 콜백을 전달하여'requests'를 채운 다음'console.log'를 종료하거나'async.series'를 수행해야 할 것입니다. – shriek