Node.js stream.finished()方法
原文:https://www . geesforgeks . org/node-js-stream-finished-method/
stream.finished()方法用于在某个流不再可写或可读时,或者在遇到错误或未成熟的关闭事件时接收警报。
语法:
stream.finished(stream, options, callback)
参数:该方法接受三个参数,如上所述,如下所述:
- 流:该参数可以可读也可以写。
- 选项:这是一个对象,可以是:
- 它可以是一个错误,也就是说,如果它被设置为假,那么发出事件的调用(' error ',err)不会被认为已经完成,默认情况下它是真的。
- 它可以是可读的,即如果它被设置为假,那么当流结束时调用回调函数,流仍然是可读的,默认情况下它是真的。
- 它可以是可写的,即当设置为假时,然后调用回调函数,当流结束时,流仍然可以是可写的,并且默认为真。
- 回调:接受选择性错误参数的回调函数。
返回值:它返回一个清除函数,该函数分离所有注册的侦听器。 以下示例说明了 stream.finished()方法在 Node.js: 示例 1: 中的使用
java 描述语言
// Node.js program to demonstrate the
// stream.finished(stream[, options],
// callback) method
// Including fs module
var fs = require('fs');
// Constructing finished from stream
const { finished } = require('stream');
// Constructing promisify from
// util
const { promisify } = require('util');
// Defining finishedAsync method
const finishedAsync = promisify(finished);
// Constructing readable stream
const readable = fs.createReadStream("input.text");
// Constructing writable stream
var writable = fs.createWriteStream("output.text");
// Async function
(async function run() {
try{
// Calling pipe method
readable.pipe(writable);
await finishedAsync(readable);
console.log("Readable is being consumed");
}
// Shows error
catch(err) {
console.error(err);
}
})();
版权属于:月萌API www.moonapi.com,转载请注明出处