writable._construct(callback)
添加于:v15.0.0
参数
callback
<Function> 当流完成初始化时调用此函数(可选地使用错误参数)。
不得直接调用 _construct()
方法。它可能由子类实现,如果是这样,将仅由内部Writable
类方法调用。
此可选函数将在流构造函数返回后的滴答声中调用,延迟任何 _write()
、 _final()
和 _destroy()
调用,直到调用 callback
。这对于在可以使用流之前初始化状态或异步初始化资源很有用。
const { Writable } = require('node:stream');
const fs = require('node:fs');
class WriteStream extends Writable {
constructor(filename) {
super();
this.filename = filename;
this.fd = null;
}
_construct(callback) {
fs.open(this.filename, (err, fd) => {
if (err) {
callback(err);
} else {
this.fd = fd;
callback();
}
});
}
_write(chunk, encoding, callback) {
fs.write(this.fd, chunk, callback);
}
_destroy(err, callback) {
if (this.fd) {
fs.close(this.fd, (er) => callback(er || err));
} else {
callback(err);
}
}
}
相关用法
- Node.js writeStream.getColorDepth()用法及代码示例
- Node.js writeStream.cursorTo()用法及代码示例
- Node.js writeStream.clearLine()用法及代码示例
- Node.js writeStream.moveCursor()用法及代码示例
- Node.js writeStream.getWindowSize()用法及代码示例
- Node.js writeStream.columns用法及代码示例
- Node.js writeStream.clearScreenDown()用法及代码示例
- Node.js writeStream.isTTY用法及代码示例
- Node.js writeStream.hasColors()用法及代码示例
- Node.js writeStream.rows用法及代码示例
- Node.js worker.receiveMessageOnPort(port)用法及代码示例
- Node.js worker.markAsUntransferable(object)用法及代码示例
- Node.js worker.workerData用法及代码示例
- Node.js worker.SHARE_ENV用法及代码示例
- Node.js worker.isMainThread用法及代码示例
- Node.js worker.parentPort用法及代码示例
- Node.js worker.getEnvironmentData(key)用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
- Node.js http2.Http2ServerRequest request.url用法及代码示例
- Node.js request.socket用法及代码示例
- Node.js assert.notEqual(actual, expected[, message])用法及代码示例
- Node.js tlsSocket.authorized用法及代码示例
- Node.js zlib.deflateRaw()用法及代码示例
- Node.js http.IncomingMessage message.rawHeaders用法及代码示例
- Node.js Console用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 writable._construct(callback)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。