Приложение nodejs построено вокруг «файла проекта».атомная запись/чтение файла в nodejs
Несколько модулей (под «модулем», я имею в виду простой файл javascript моего проекта) этого приложения необходимо часто загружать, изменять и сохранять этот файл через потоки (fs.createReadStream, fs.createWriteStream), и поскольку эти модули выполняются независимо друг от друга, иногда из-за происхождений из событий websocket (например), мне нужно сделать операции сохранения/загрузки файла проекта атома.
Это означает, что следующий сценарий:
- ModuleA записывает файл проекта
- в то же время, и до ModuleA закончил писать файл, moduleB хочет прочитать => в идеале, она должна дождитесь операции записи модуля А (в настоящее время он читает частично записанный файл и обнаруживает ошибку), прежде чем действительно прочитать файл
Является ли nodejs способным сделать это изначально или мне нужно построить своего рода атомную оболочку над моей системой чтения/записи?