ストリームを開く前に、ストリームが既に開いているかどうかを確認する必要があります
var fs=require('fs');
var stream=fs.createWriteStream(filePath, {flags: 'a'});
stream.on('open',function(){
});
これは非同期であるため、ストリームはopen
開かれたときに放出されます。いつ放出されるかを知る方法はありません。次のように書くこともできます
var _path = "text.txt";
var stream1 = fs.createWriteStream(_path,{flags:"a"});
var stream2 = fs.createWriteStream(_path,{flags:"a"});
var stream3 = fs.createWriteStream(_path,{flags:"a"});
var streamN = fs.createWriteStream(_path,{flags:"a"});
準備ができたら、すべてがopen
イベントを発行します。
console.log
open が発行されたときにオブジェクトの 1 つをダンプすると_writableState
、書き込み状態が保持される場所など、多くのプロパティを持つオブジェクトが表示されます。
それほど素晴らしい方法ではないのは、以下のようなものを試すことです
var _path = "text.txt";
var stream = fs.createWriteStream(_path,{flags:"a"});
var stream2 = fs.createWriteStream(_path,{flags:"a"});
var lock = false; // try switching this , when opened and on other events to get the flow.