我正在为我的应用程序连接一个自动发布脚本,其中包含几个繁重的任务。基本上,我使用
grunt.file.readJSON('package.son', {encoding: 'utf8'});
...提取版本并增加它,然后我使用
fs.writeFileSync('package.json', JSON.stringify(packageJson, null, 2), 'utf8');
把它写回来。直线前进。
另一个任务必须用新的、递增的版本号标记 git-commit 并再次读取文件。此时任务仍然读取旧版本。(如果我稍后手动查看文件,那么就会有新版本,所以增量和写入工作)
这里出了什么问题?这是竞争条件还是以某种方式异步执行的咕噜任务?