rwa*_*ace 9 javascript node.js
我正在node.js中编写一个纯同步的单线程命令行程序,它需要编写一个我正在使用的单个二进制文件WriteStream.我的使用模式如下:
var stream = fs.createWriteStream(file)
stream.write(buf1)
stream.write(buf2)
Run Code Online (Sandbox Code Playgroud)
这似乎有效,但文档说它是异步的,我想确保我不会编写99%的时间都能运行的代码.我不关心数据写入的时间,只要它以指定的顺序写入并且不晚于程序退出时,并且数据量很小,因此速度和内存消耗不是问题.
我已经看到了提及,stream.end()但它似乎没有它的工作,我也看到了如果你没有使用回调,调用它可能实际上是一个坏主意,因为它可能最终在所有数据写入之前被调用.
我的方法是否正确(假设我想要纯粹同步)或者我需要注意什么?
您可以这样做,唯一的问题可能是,如果您为同一路径创建两个或多个并发流:来自不同流的写入顺序将是未定义的。顺便说一句,node: 中有一个同步 fs 写流实现fs.SyncWriteStream。这是一种私人的,需要fd作为参数,但如果你真的想要它......
| 归档时间: |
|
| 查看次数: |
8453 次 |
| 最近记录: |