javascript - Res.json 阻塞了我的 Node/express 服务器

标签 javascript node.js express

我有一个 100mb 的对象,我尝试通过 GET 请求返回该对象:

function doWork(req,res) {

  // creates a big object on a child process, then returns this big object

  res.json(bigObject); // <--- problem line
}
app.get('/dowork', doWork);

即使我在子进程上创建这个大对象,我也需要主进程返回它(b/c 子进程没有 res 流)。我想知道执行此操作的正确方法是什么?现在,将这个大对象转换为 json 会让我的服务器占用一段时间。执行此操作时没有人可以连接。

最佳答案

不要将其作为子进程的对象返回。相反,请在其中调用 JSON.stringify,并将其回您的主进程。然后,您可以 Hook 子进程的此输出流以写入 res通过使用 .pipe() .

关于javascript - Res.json 阻塞了我的 Node/express 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24812708/

相关文章:

javascript - JavaScript 中读取带有反斜杠的 Json 字符串时出错

javascript - AngularJS 先删除 ref 文档,然后再删除父文档

android - Stripe Intent API 持有卡然后充电不工作

node.js - 将 ChaiHttp 与 beforeEach 或 before 方法一起使用

node.js - 尽管更新了添加的路径变量,但在命令提示符下仍无法识别 Gulp

javascript - 浏览器刷新后,AngularJS 设置的 Cookie 将被忽略

javascript - 如何使用 THREE.js 添加淡入淡出反射?

javascript - 如何将 Accordion 高度设置为固定值?

javascript - NodeJs错误v-host中间件

node.js - 路由器内的快速错误处理程序不起作用