[英]highland.js fetch json array and transform in stream of values
我正在嘗試從外部API獲取JSON數組,然后一次發出該數組的一個元素。 但是我的實現似乎在某處失敗,我收到錯誤而不是數組
'use strict';
const request = require('request-promise'),
H = require('highland');
H(request('http://jsonplaceholder.typicode.com/users'))
.map(x => x.toString('utf8'))
.tap((data) => {
let acc = [];
data = JSON.parse(data);
data.forEach((entry) => {
acc.push(entry);
});
return H(acc);
})
.each(user => console.log(user.id))// would expect that this logs 1,2,3,4
.done(data => {
console.log(data)
});
您可能會得到大量數據,而不是完整的響應,這意味着JSON.parse試圖解析不完整的JSON。 也許嘗試這樣的事情?
H(request('http://jsonplaceholder.typicode.com/users'))
.collect()
.map(Buffer.concat)
.flatMap(x => JSON.parse(x.toString('utf8')))
.each(user => console.log(user.id))
.done(data => console.log('DONE'));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.