📅  最后修改于: 2023-12-03 15:03:14.271000             🧑  作者: Mango
在 Node.js 中,Stream API 用于处理流式数据。其中,Writeable(可写流)是流的一种类型,它允许我们将数据写入到 Stream 中。
Writeable.end() 方法会发出一个信号,告诉可写流已经写入完所有的数据。当我们调用 end() 方法时,写入的数据将被推入 Stream,并且关闭可写流。此后,我们将无法向此流中写入数据。
writable.end([chunk[, encoding]][, callback])
可调用 writable.end()
方法,传入以下可选参数:
chunk
:需要写入的数据;encoding
:写入的数据编码方式;callback
:数据写入完成后的回调函数。下面是一个使用 Writeable.end()
方法的示例:
const fs = require('fs');
const writeable = fs.createWriteStream('output.txt');
writeable.write('这是第一行数据\n');
writeable.write('这是第二行数据\n');
writeable.end('这是最后一行数据\n', 'utf8', () => {
console.log('数据写入完成');
});
在上述示例中,我们首先创建了一个可写流,并向其中写入三行数据。当我们调用 end()
方法时,写入的最后一行数据 "这是最后一行数据\n"
被作为第一个参数传入。
同时,我们也为 writeable.end()
方法指定了一个编码方式 'utf8'
和一个回调函数,在数据写入完成时,将会被调用。
end()
方法来释放资源。否则,可写流可能会一直处于打开状态;end()
方法后再次调用 write()
方法,该方法将不起作用,数据也不会被写入 Stream 中;end()
方法后,如果传入任何更多的数据,将会触发一个 error
事件。