nodejs express 导出 csv 慢

发布于 2022-09-11 20:58:15 字数 746 浏览 13 评论 0

问题描述

使用 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 导出就很慢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我ぃ本無心為│何有愛 2022-09-18 20:58:15

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

相关文章

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文