通过res.write在浏览器中有效地获取GET数据块

时间:2017-11-12 18:12:32

标签: javascript stream xmlhttprequest

我想流式一个巨大的Array(~1GB)到浏览器。

为了有效地执行此操作,我通过Express发送了一个分块响应,如下所示:

app.get('/chunked-response', (req, res) => {
  [{ foo: 'bar' }, { foo: 'baz' }].forEach(item => {
    res.write(JSON.stringify(item))
  })

  res.end()
})

我如何才能在浏览器中收到这些块?

例如,我想收到:

  • { foo: 'bar' }
  • { foo: 'baz' }

作为单独的事件。

我尝试了什么

注意:

  • 我真的想避免质疑我为什么要发送如此大量的数据,并专注于如何做到这一点而不会遇到内存问题。

  • 我也可以使用WebSockets来发送元素,但为了简单起见,我想专注于在单个请求中执行此操作

0 个答案:

没有答案