簡體   English   中英

highland.js獲取json數組並在值流中進行轉換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM