gpt4 book ai didi

javascript - Node.js WriteStream 同步

转载 作者:IT老高 更新时间:2023-10-28 23:26:57 27 4
gpt4 key购买 nike

我正在 node.js 中编写一个纯同步的单线程命令行程序,它需要编写一个二进制文件,为此我使用 WriteStream。我的使用模式是这样的:

var stream = fs.createWriteStream(file)
stream.write(buf1)
stream.write(buf2)

这似乎可行,但文档说它是异步的,我想确保我编写的代码没有 99% 的时间都有效。我不关心数据的确切写入时间,只要它是按指定的顺序写入的,并且不迟于程序退出的时间,并且数据量很小,因此速度和内存消耗都不是问题。

我见过提到 stream.end() 但没有它似乎也可以工作回调,因为它可能最终在所有数据写入之前被调用。

我的方法是否正确(假设我想要完全同步)还是需要注意什么?

最佳答案

您可以这样做,唯一的问题可能是您为同一路径创建两个或多个并发流:来自不同流的写入顺序将是未定义的。顺便说一句,node中有一个同步fs写流实现:fs.SyncWriteStream。它是私有(private)的,需要 fd 作为参数,但如果你真的想要它......

关于javascript - Node.js WriteStream 同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24468830/

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