2017-06-11 6 views
0

私はcsv-stringifyを使って配列オブジェクトを文字列に変換し、csvファイルに追加しています。 500行を書きますが、csvファイルで314行を受信しましたか?stream.writeを使用したときの入出力間のデータの不一致

ここにある私のコード:任意の助言のための

let stringifyOpts = { formatters: this.formatters } 
    if (isFirstChunk) { 
    stringifyOpts.header = true; 
    stringifyOpts.columns = this.columnNames 
    } 

    let stringifier = csv.stringify(stringifyOpts); 
    let writeStream = fs.createWriteStream(this.filePath, { flags: 'a' }); 
    stringifier.pipe(writeStream); 
    //data.length = 500 
    data.forEach(row => { 
    stringifier.write(row); 
    }) 
    stringifier.end(); 
    writeStream.end(); 

ありがとうございました!

よろしくお願いいたします。

答えて

0

書き込みストリームの作成時にautoClose: trueを追加してこの問題を解決しました。

fs.createWriteStream(this.filePath, { flags: 'a', autoClose: true }); 
関連する問題