【发布时间】:2016-07-24 01:09:40
【问题描述】:
我的 nodejs 应用程序是围绕“项目文件”构建的。
这个应用程序的几个模块(“模块”,我的意思是我的项目的一个简单的 javascript 文件)需要经常通过流(fs.createReadStream、fs.createWriteStream)加载、修改和保存这个文件,因为那些模块彼此独立执行,有时来自 websocket 事件(例如),我需要对项目文件进行保存/加载操作 atomic。
表示如下场景:
- moduleA 写入项目文件
- 同时,在moduleA完成写入文件之前,moduleB想要读取它=>理想情况下,它应该等待moduleA的写入操作(目前,它读取部分写入的文件并检测到错误)在真正阅读文件之前
nodejs 是否能够原生地做到这一点,还是我必须在我的读/写流系统上构建一种原子包装器?
【问题讨论】: