1
這裏超級煩人的問題。只有fs.createWriteStream
上的第一次寫入呼叫按預期工作。只用fs.createWriteStream寫入一次的長命令命令行應用程序
我有這樣的代碼
const errStrmPath = global.testStderrStrmPath = path.resolve(projRoot + '/suman/logs/test-stderr.log');
const strm = global.testStderrStrm = fs.createWriteStream(errStrmPath, {flags: 'w'});
global._writeTestError = function() {
global.checkTestErrorLog = true;
strm.write.apply(strm, arguments);
};
global._writeTestError('abc');
global._writeTestError('efg');
global._writeTestError('hij');
因爲它的立場,只寫入日誌文件一次。所以'abc'顯示在文件中,但'efg'和'hij'不顯示。這是一個長期存在的程序,只有在執行了一些異步操作後纔會退出,爲什麼只有第一次寫入文件纔會發生?
任何人都知道什麼可能是錯的?