我創建了一個文件流寫一個CSV文件:如何等待文件流完成寫入之前關閉它?
var logger = fs.createWriteStream('restaurants.csv', {
flags: 'w' // 'a' means appending (old data will be preserved)
});
logger.write("sep=,\n");
當我寫完,我關閉流是這樣的:
logger.end();
logger.close();
但是,當我做到這一點,部分文件在結尾處丟失。我試圖睡覺之前關閉流:
await Promise.delay(2000);
logger.end();
logger.close();
而突然,該文件是完整的。但超時是一個愚蠢的解決方案。文件流完成寫入後是否發出任何事件?基本上我需要的是:
await logger.doneWriting();
logger.end();
logger.close();
我可以promisify任何事件當然,但它是哪個事件?
您是否嘗試過'logger.on(「end」,...)',或'logger.on(「close」,...)'? –