nodejs express 导出 csv 慢

问题描述

使用 express 的 res.write 来写 csv 数据,数据已经从数据库读出来了(用的是 mongodb 可读流),但是 chrome 卡在即将开始下载一分半之后才开始有数据下载下来,会是什么原因。

图片描述

相关代码

stream.on('data', data => {

let finalData = processData(data);

let _data = JsonToArray(finalData, fields).join(',');

// console.log("Data:", _data.toString());

res.write(_data + '\n');

});

stream.on('error', err => {

res.end(err.message || err);

logger.error("Export Failed:", err.message || err);

});

stream.on('end', () => {

logger.info("Export finished after:", (new Date).getTime() - start, "ms");

res.end();

});

本地环境局域网导出没问题,测试服务器放在 aws 导出就很慢。

回答:

自己解决了问题,回来自己回答一下。

相关文章

网络差时,写入 TCP Socket 输出缓冲区的速度较慢,同时 Node.js 端没有做 Backpressure 处理,导致响应返回时被截断,报错 net:ERR_INCOMPLETE_CHUNKDED_ENCODING .

以上是 nodejs express 导出 csv 慢 的全部内容, 来源链接: utcz.com/p/197026.html

回到顶部