表达发送不完整的响应json数据

时间:2017-10-17 08:52:08

标签: json node.js express response

版本信息:     "表达":" ~4.15.2",     " express-session":" ^ 1.15.5",

我使用此代码将大型json数据发送到客户端:

   router.get('/exportAllData',function(req,res,next){
    async function getData(){
    let sql="SELECT * FROM int_information "
    let rows=await query(sql);
    let data=await JSON.stringify(rows);
    return JSON.parse(data);
  }
  getData().then(data=>res.send({flag:1,data:data})).catch(error=>{
    res.send({flag:0,err:error});
  });  
})

我在服务器上尝试了wget localhost并且可以获得完整的数据, 但远程客户端的json数据损坏,每次刷新都不同。 问题出在哪儿?在获取所有数据之前似乎已关闭响应。

1 个答案:

答案 0 :(得分:0)

这是节点js 8.x中的一个漏洞,我用7.10解决了这个问题。 或者,您可以在app.js中设置server.keepAliveTimeout = 30000以扩展超时设置