我有以下代码,这是我要执行的操作的简化示例:
const fs = require('fs');
var stream = fs.createWriteStream('/tmp/file');
stream.once('open', function(fd) {
for (var i = 0; i < 100; i += 1) {
stream.write('' + i + "\n");
}
stream.end();
stream.close();
});
我看到fd
是文件描述符,我想关闭它。我叫fd.close()
,但这不是方法。
两个问题:
我在fs.close()
and fs.closeSync()
上看到了一些文档。我应该用那个吗?
谢谢。
答案 0 :(得分:1)
我打了
for
从您链接的文档中:
fdStream使用的fd整数文件描述符。
所以fd.close()
是一个整数,而不是带有方法的对象。
我应该关闭它吗?
是的!否则,您将浪费资源,因为流正在等待处理。您应该通过调用.end()
结束流。这也将关闭基础文件,因此无需手动fd
。