1

ストリームを開く前に、ストリームが既に開いているかどうかを確認する必要があります

var fs=require('fs');
var stream=fs.createWriteStream(filePath, {flags: 'a'});
stream.on('open',function(){


});
4

1 に答える 1

0

これは非同期であるため、ストリームは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.logopen が発行されたときにオブジェクトの 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.
于 2013-09-19T15:00:06.157 に答える