gpt4 book ai didi

Node.js - 写入 CSV 文件在生产中创建空文件,而在 Mocha 测试中则正常

转载 作者:太空宇宙 更新时间:2023-11-04 02:10:03 25 4
gpt4 key购买 nike

This gist显示将对象转储到 CSV 文件的代码片段。文件写入是使用模块 csv-write-stream 完成的它返回一个 promise 。

这段代码在我所做的所有 Mocha 测试中都完美运行。

当主 Nodejs 应用程序(一个服务器端 REPL 应用程序,涉及原始 process.stdinconsole.log 调用作为与用户的交互)调用代码时,会创建 CSV 文件,但它始终为空,并且似乎不会抛出任何错误/警告。

我已经使用 node-debug 和 Chrome 开发工具广泛调试了 REPL 代码:我确信 WriteStream 的事件处理程序正常工作:没有“错误”,所有“数据”似乎都已处理,“关闭”运行, promise 按预期解决。

尽管如此,在后一种情况下文件始终为 0 字节。我检查了几个问答,但找不到像这样具体的内容。

我的问题是:

  • 我可能会遗漏一些错误吗?我如何确保跟踪有关文件写入的所有通信?
  • 我可以在哪些方向加强调查?哪些其他设置可以帮助我隔离问题?
  • 由于问题可能是由于等式中存在 process.stdin 造成的,因此有什么方法可以在无需编写 Web 应用程序的情况下与用户创建简单、轻量级的交互?

我正在使用 Windows 7。Node 6.9.4、npm 3.5.3、csv-write-stream 2.0.0。

最佳答案

我设法通过两种方式解决了这个问题,方法是:

  • 履行 'finish' event 上的 promise FileWriteStream 的“结束”事件,而不是 CSVWriteStream 的“end”事件
  • 删除我在 process.stdin 操作结束时使用的 process.exit()(这意味着 this tutorial page 可能需要一些更正)

关于Node.js - 写入 CSV 文件在生产中创建空文件,而在 Mocha 测试中则正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com