0

Node/Request を使用して 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 ....}, {...} ]

私の予想では、ResultStream は配列内の JSON オブジェクトごとに呼び出されますが、配列全体を受け取ります。私は何かを見逃しているか、何かを誤解していますか?

4

0 に答える 0