节点/快速节点/请求流式JSON对象

时间:2015-07-06 05:38:40

标签: json node.js express stream node-request

我正在实现一个使用Node / Request来获取GET JSON对象的节点应用程序,然后管道响应以处理传入的对象并进一步传递它们。在功能测试中,我使用Node / Express来模拟使JSON数组可用的实际端点。我的问题是整个对象数组是转移而不是逐个对象。

这是消费者应用程序(简化):

request('http://localhost:3000/processable')
.pipe new ResultStream

class ResultStream extends stream.Writable
  constructor: ->
    super
      objectMode: true

  _write: (chunk, enc, next) ->
    console.log('Result chunk: ',chunk)
    console.log('Result enc: ',enc)
    console.log('Result parse: ',JSON.parse(chunk))
    next()

在测试中

mock = express()
data = [
  {uuid: 'ac475cf4-ef10-4be2-8a65-665178f9682c', status: 'whatever'},
  {uuid: 'bc321fc3-fe70-5eb4-f968-9682c75cf455', status: 'great'}
]

mock.get('/processable', (req,res) ->
  res.json(data)
)
mock.listen(3000)

输出:

Result chunk:  <Buffer 5b 7b 22 65 76 65  ....
Result enc:  buffer
Result parse:  [ { uuid: 'ac47 ....}, {...} ]

我的期望是在数组中按照JSON对象调用ResultStream,但是我收到了整个数组。我错过了什么或误解了什么吗?

0 个答案:

没有答案