Options
All
  • Public
  • Public/Protected
  • All
Menu

Class GridFSBucketWriteStream

A writable stream that enables you to write buffers to GridFS.一个可写流,使您能够将缓冲区写入GridFS。

Do not instantiate this class directly. 不要直接实例化这个类。Use openUploadStream() instead.请改用openUploadStream()

Hierarchy继承层级

  • Writable
    • GridFSBucketWriteStream

Implements

  • WritableStream

Index索引

Events事件

CLOSE: "close" = 'close'
ERROR: "error" = 'error'
FINISH: "finish" = 'finish'

end() was called and the write stream successfully wrote the file metadata and all the chunks to MongoDB.调用了end(),写入流成功地将文件元数据和所有块写入MongoDB。

Properties属性

bucket: GridFSBucket
bufToStore: Buffer
chunkSizeBytes: number
closed: boolean

Is true after 'close' has been emitted.发出'close'后为true

since

v8.0.0

destroyed: boolean

Is true after writable.destroy() has been called.在调用writeable.destroy()后为true

since

v8.0.0

done: boolean
errored: null | Error

Returns error if the stream has been destroyed with an error.如果流因错误而被销毁,则返回错误。

since

v18.0.0

filename: string
length: number
n: number
pos: number
state: { aborted: boolean; errored: boolean; outstandingRequests: number; streamEnd: boolean }

Type declaration类型声明

  • aborted: boolean
  • errored: boolean
  • outstandingRequests: number
  • streamEnd: boolean
writable: boolean

Is true if it is safe to call writable.write(), which means the stream has not been destroyed, errored or ended.如果调用writable.write()是安全的,则为true,这意味着流未被破坏、出错或结束。

since

v11.4.0

writableCorked: number

Number of times writable.uncork() needs to be called in order to fully uncork the stream.需要调用writeable.uncork()才能完全取消标记流的次数。

since

v13.2.0, v12.16.0

writableEnded: boolean

Is true after writable.end() has been called. 在调用writeable.end()后为trueThis property does not indicate whether the data has been flushed, for this use writable.writableFinished instead.此属性不指示数据是否已刷新,因此改用writeable.writeableFinished

since

v12.9.0

writableFinished: boolean

Is set to true immediately before the 'finish' event is emitted.在发出'finish'事件之前立即设置为true

since

v12.6.0

writableHighWaterMark: number

Return the value of highWaterMark passed when creating this Writable.返回创建此Writable时传递的highWaterMark值。

since

v9.3.0

writableLength: number

This property contains the number of bytes (or objects) in the queue ready to be written. 此属性包含队列中准备写入的字节数(或对象数)。The value provides introspection data regarding the status of the highWaterMark.该值提供有关highWaterMark状态的内省数据。

since

v9.4.0

writableNeedDrain: boolean

Is true if the stream's buffer has been full and stream will emit 'drain'.如果流的缓冲区已满且流将发出“drain”,则为true

since

v15.2.0, v14.17.0

writableObjectMode: boolean

Getter for the property objectMode of a given Writable stream.给定Writable流的属性objectMode的Getter。

since

v12.3.0

writeConcern?: WriteConcern
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean

Sets or gets the default captureRejection value for all emitters.设置或获取所有发射器的默认captureRejection值。

defaultMaxListeners: number
errorMonitor: typeof errorMonitor

This symbol shall be used to install a listener for only monitoring 'error' events. 此符号应用于安装仅用于监视'error'事件的侦听器。Listeners installed using this symbol are called before the regular 'error' listeners are called.使用此符号安装的侦听器在调用常规'error'侦听器之前被调用。

Installing a listener using this symbol does not change the behavior once an 'error' event is emitted, therefore the process will still crash if no regular 'error' listener is installed.使用此符号安装侦听器不会在发出'error'事件后改变行为,因此如果没有安装常规的'error'侦听器,进程仍将崩溃。

Methods方法

  • _construct(callback: (error?: null | Error) => void): void
  • Parameters参数

    • callback: (error?: null | Error) => void
        • (error?: null | Error): void
        • Parameters参数

          • Optional error: null | Error

          Returns 返回 void

    Returns 返回 void

  • _destroy(error: null | Error, callback: (error?: null | Error) => void): void
  • Parameters参数

    • error: null | Error
    • callback: (error?: null | Error) => void
        • (error?: null | Error): void
        • Parameters参数

          • Optional error: null | Error

          Returns 返回 void

    Returns 返回 void

  • _final(callback: (error?: null | Error) => void): void
  • Parameters参数

    • callback: (error?: null | Error) => void
        • (error?: null | Error): void
        • Parameters参数

          • Optional error: null | Error

          Returns 返回 void

    Returns 返回 void

  • _write(chunk: any, encoding: BufferEncoding, callback: (error?: null | Error) => void): void
  • Parameters参数

    • chunk: any
    • encoding: BufferEncoding
    • callback: (error?: null | Error) => void
        • (error?: null | Error): void
        • Parameters参数

          • Optional error: null | Error

          Returns 返回 void

    Returns 返回 void

  • _writev(chunks: { chunk: any; encoding: BufferEncoding }[], callback: (error?: null | Error) => void): void
  • Parameters参数

    • chunks: { chunk: any; encoding: BufferEncoding }[]
    • callback: (error?: null | Error) => void
        • (error?: null | Error): void
        • Parameters参数

          • Optional error: null | Error

          Returns 返回 void

    Returns 返回 void

  • abort(): Promise<void>
  • abort(callback: Callback<void>): void
  • Places this write stream into an aborted state (all future writes fail) and deletes all chunks that have already been written.将此写入流置于中止状态(所有将来的写入都失败),并删除所有已写入的块。

    Returns 返回 Promise<void>

  • deprecated

    Callbacks are deprecated and will be removed in the next major version. 回调已被弃用,将在下一个主要版本中删除。See mongodb-legacy for migration assistance请参阅mongodb-legacy获取迁移帮助

    Parameters参数

    Returns 返回 void

  • Event emitter The defined events on documents including:事件发射器文档上定义的事件包括:

    1. close
    2. drain
    3. error
    4. finish
    5. pipe
    6. unpipe

    Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • cork(): void
  • The writable.cork() method forces all written data to be buffered in memory. writeable.cork()方法强制将所有写入的数据缓冲在内存中。The buffered data will be flushed when either the uncork or end methods are called.当调用uncork方法或end方法时,缓冲数据将被刷新。

    The primary intent of writable.cork() is to accommodate a situation in which several small chunks are written to the stream in rapid succession. writable.cork()的主要目的是适应这样一种情况,即几个小的块被快速连续地写入流中。Instead of immediately forwarding them to the underlying destination, writable.cork()buffers all the chunks until writable.uncork() is called, which will pass them all to writable._writev(), if present. writeable.cork()不是立即将它们转发到底层目的地,而是缓冲所有的块,直到调用writable.uncork(),这将把它们全部传递给writeable._writev(),如果存在。This prevents a head-of-line blocking situation where data is being buffered while waiting for the first small chunk to be processed. 这防止了在等待处理第一个小数据块时缓冲数据的行头阻塞情况。However, use of writable.cork() without implementingwritable._writev() may have an adverse effect on throughput.但是,在不实现writeable._writev()的情况下使用writeable.cork()可能会对吞吐量产生不利影响。

    See also: writable.uncork(), writable._writev().另请参见:writable.uncork()writable._writev()

    since

    v0.11.2

    Returns 返回 void

  • Destroy the stream. 破坏溪流。Optionally emit an 'error' event, and emit a 'close'event (unless emitClose is set to false). 可选地,发出'error'事件,并发出'close'事件(除非emitClose设置为false)。After this call, the writable stream has ended and subsequent calls to write() or end() will result in an ERR_STREAM_DESTROYED error. 在此调用之后,可写流已结束,随后对write()end()的调用将导致ERR_stream_DESTROYED错误。This is a destructive and immediate way to destroy a stream. 这是一种破坏性的、立即摧毁河流的方法。Previous calls towrite() may not have drained, and may trigger an ERR_STREAM_DESTROYED error. 以前对rite()的调用可能没有耗尽,可能会触发ERR_STREAM_DESTROYED错误。Use end() instead of destroy if data should flush before close, or wait for the 'drain' event before destroying the stream.如果数据在关闭之前应该刷新,请使用end()而不是destroy,或者在销毁流之前等待'drain'事件。

    Once destroy() has been called any further calls will be a no-op and no further errors except from _destroy() may be emitted as 'error'.一旦调用destroy(),任何进一步的调用都将是no-op,并且除了_destroy()之外,其他错误都不会作为'error'发出。

    Implementors should not override this method, but instead implement writable._destroy().实现者不应重写此方法,而应实现writeable._destroy()

    since

    v8.0.0

    Parameters参数

    • Optional error: Error

      Optional, an error to emit with 'error' event.可选,使用'error'事件发出错误。

    Returns 返回 GridFSBucketWriteStream

  • emit(event: "close"): boolean
  • emit(event: "drain"): boolean
  • emit(event: "error", err: Error): boolean
  • emit(event: "finish"): boolean
  • emit(event: "pipe", src: Readable): boolean
  • emit(event: "unpipe", src: Readable): boolean
  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters参数

    • event: "close"

    Returns 返回 boolean

  • Parameters参数

    • event: "drain"

    Returns 返回 boolean

  • Parameters参数

    • event: "error"
    • err: Error

    Returns 返回 boolean

  • Parameters参数

    • event: "finish"

    Returns 返回 boolean

  • Parameters参数

    • event: "pipe"
    • src: Readable

    Returns 返回 boolean

  • Parameters参数

    • event: "unpipe"
    • src: Readable

    Returns 返回 boolean

  • Parameters参数

    • event: string | symbol
    • Rest ...args: any[]

    Returns 返回 boolean

  • eventNames(): (string | symbol)[]
  • Returns an array listing the events for which the emitter has registered listeners. 返回一个数组,列出发射器已注册侦听器的事件。The values in the array are strings or Symbols.数组中的值是字符串或Symbol

    const EventEmitter = require('events');
    const myEE = new EventEmitter();
    myEE.on('foo', () => {});
    myEE.on('bar', () => {});

    const sym = Symbol('symbol');
    myEE.on(sym, () => {});

    console.log(myEE.eventNames());
    // Prints: [ 'foo', 'bar', Symbol(symbol) ]
    since

    v6.0.0

    Returns 返回 (string | symbol)[]

  • getMaxListeners(): number
  • Returns the current max listener value for the EventEmitter which is either set by emitter.setMaxListeners(n) or defaults to defaultMaxListeners.返回EventEmitter的当前最大侦听器值,该值由emitter.setMaxListeners(n)设置或默认为defaultMaxListeners

    since

    v1.0.0

    Returns 返回 number

  • listenerCount(eventName: string | symbol): number
  • Returns the number of listeners listening to the event named eventName.返回侦听名为eventName的事件的侦听器数。

    since

    v3.2.0

    Parameters参数

    • eventName: string | symbol

      The name of the event being listened for正在侦听的事件的名称

    Returns 返回 number

  • listeners(eventName: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName.返回名为eventName的事件的侦听器数组的副本。

    server.on('connection', (stream) => {
    console.log('someone connected!');
    });
    console.log(util.inspect(server.listeners('connection')));
    // Prints: [ [Function] ]
    since

    v0.1.26

    Parameters参数

    • eventName: string | symbol

    Returns 返回 Function[]

  • Alias for emitter.removeListener().emitter.removeListener()的别名。

    since

    v10.0.0

    Parameters参数

    • eventName: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • pipe<T>(destination: T, options?: { end?: boolean }): T
  • Type parameters类型参数

    • T: WritableStream<T>

    Parameters参数

    • destination: T
    • Optional options: { end?: boolean }
      • Optional end?: boolean

    Returns 返回 T

  • Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • rawListeners(eventName: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName, including any wrappers (such as those created by .once()).返回名为eventName的事件的侦听器数组的副本,包括任何包装器(例如由once()创建的包装器)。

    const emitter = new EventEmitter();
    emitter.once('log', () => console.log('log once'));

    // Returns a new Array with a function onceWrapper which has a property
    // listener which contains the original listener bound above
    const listeners = emitter.rawListeners('log');
    const logFnWrapper = listeners[0];

    // Logs "log once" to the console and does not unbind the once event
    logFnWrapper.listener();

    // Logs "log once" to the console and removes the listener
    logFnWrapper();

    emitter.on('log', () => console.log('log persistently'));
    // Will return a new Array with a single function bound by .on() above
    const newListeners = emitter.rawListeners('log');

    // Logs "log persistently" twice
    newListeners[0]();
    emitter.emit('log');
    since

    v9.4.0

    Parameters参数

    • eventName: string | symbol

    Returns 返回 Function[]

  • Removes all listeners, or those of the specified eventName.删除所有侦听器,或指定eventName的侦听器。

    It is bad practice to remove listeners added elsewhere in the code, particularly when the EventEmitter instance was created by some other component or module (e.g. sockets or file streams).删除代码中其他地方添加的侦听器是一种糟糕的做法,尤其是当EventEmitter实例由其他组件或模块(例如套接字或文件流)创建时。

    Returns a reference to the EventEmitter, so that calls can be chained.返回对EventEmitter的引用,以便可以连缀调用。

    since

    v0.1.26

    Parameters参数

    • Optional event: string | symbol

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "close"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "drain"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters参数

          • err: Error

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "finish"
    • listener: () => void
        • (): void
        • Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "pipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: "unpipe"
    • listener: (src: Readable) => void
        • (src: Readable): void
        • Parameters参数

          • src: Readable

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • Parameters参数

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters参数

          • Rest ...args: any[]

          Returns 返回 void

    Returns 返回 GridFSBucketWriteStream

  • The writable.setDefaultEncoding() method sets the default encoding for a Writable stream.writable.setDefaultEncoding()方法设置Writable流的默认encoding

    since

    v0.11.15

    Parameters参数

    • encoding: BufferEncoding

      The new default encoding新的默认编码

    Returns 返回 GridFSBucketWriteStream

  • By default EventEmitters will print a warning if more than 10 listeners are added for a particular event. 默认情况下,如果为特定事件添加了10个以上的侦听器,EventEmitter将打印警告。This is a useful default that helps finding memory leaks. 这是一个有用的默认值,有助于查找内存泄漏。The emitter.setMaxListeners() method allows the limit to be modified for this specific EventEmitter instance. emitter.setMaxListeners()方法允许修改此特定EventEmitter实例的限制。The value can be set toInfinity (or 0) to indicate an unlimited number of listeners.该值可以设置为Infinity(或0),以表示侦听器的数量不受限制。

    Returns a reference to the EventEmitter, so that calls can be chained.返回对EventEmitter的引用,以便可以连缀调用。

    since

    v0.3.5

    Parameters参数

    • n: number

    Returns 返回 GridFSBucketWriteStream

  • uncork(): void
  • The writable.uncork() method flushes all data buffered since cork was called.writeable.uncork()方法刷新自调用cork以来缓冲的所有数据。

    When using writable.cork() and writable.uncork() to manage the buffering of writes to a stream, defer calls to writable.uncork() usingprocess.nextTick(). 当使用writable.cock()writable.uncork()管理对流的写入缓冲时,使用process.nextTick()推迟对writable.uncork()的调用。Doing so allows batching of allwritable.write() calls that occur within a given Node.js event loop phase.这样做允许对给定Node.js事件循环阶段内发生的全部writable.write()调用进行批处理。

    stream.cork();
    stream.write('some ');
    stream.write('data ');
    process.nextTick(() => stream.uncork());

    If the writable.cork() method is called multiple times on a stream, the same number of calls to writable.uncork() must be called to flush the buffered data.如果在流上多次调用writable.cork()方法,则必须调用相同数量的writable.uncork()调用来刷新缓冲数据。

    stream.cork();
    stream.write('some ');
    stream.cork();
    stream.write('data ');
    process.nextTick(() => {
    stream.uncork();
    // The data will not be flushed until uncork() is called a second time.
    stream.uncork();
    });

    See also: writable.cork().另请参见:writable.cork()

    since

    v0.11.2

    Returns 返回 void

  • write(chunk: string | Buffer): boolean
  • write(chunk: string | Buffer, callback: Callback<void>): boolean
  • write(chunk: string | Buffer, encoding: undefined | BufferEncoding): boolean
  • write(chunk: string | Buffer, encoding: undefined | BufferEncoding, callback: Callback<void>): boolean
  • Write a buffer to the stream.将缓冲区写入流。

    Parameters参数

    • chunk: string | Buffer

      Buffer to write要写入的缓冲区

    Returns 返回 boolean

    False if this write required flushing a chunk to MongoDB. 如果此写入需要将块刷新到MongoDB,则为falseTrue otherwise.否则为true

  • Parameters参数

    • chunk: string | Buffer
    • callback: Callback<void>

    Returns 返回 boolean

  • Parameters参数

    • chunk: string | Buffer
    • encoding: undefined | BufferEncoding

    Returns 返回 boolean

  • Parameters参数

    • chunk: string | Buffer
    • encoding: undefined | BufferEncoding
    • callback: Callback<void>

    Returns 返回 boolean

  • fromWeb(writableStream: WritableStream<any>, options?: Pick<WritableOptions, "signal" | "objectMode" | "highWaterMark" | "decodeStrings">): Writable
  • A utility method for creating a Writable from a web WritableStream.从web WritableStream创建Writable的实用方法。

    since

    v17.0.0

    experimental

    Parameters参数

    • writableStream: WritableStream<any>
    • Optional options: Pick<WritableOptions, "signal" | "objectMode" | "highWaterMark" | "decodeStrings">

    Returns 返回 Writable

  • getEventListeners(emitter: EventEmitter | _DOMEventTarget, name: string | symbol): Function[]
  • Returns a copy of the array of listeners for the event named eventName.返回名为eventName的事件的侦听器数组的副本。

    For EventEmitters this behaves exactly the same as calling .listeners on the emitter.对于EventEmitter,这与调用emitter上的.listeners完全相同。

    For EventTargets this is the only way to get the event listeners for the event target. 对于EventTarget,这是获取事件目标的事件侦听器的唯一方法。This is useful for debugging and diagnostic purposes.这对于调试和诊断非常有用。

    const { getEventListeners, EventEmitter } = require('events');

    {
    const ee = new EventEmitter();
    const listener = () => console.log('Events are fun');
    ee.on('foo', listener);
    getEventListeners(ee, 'foo'); // [listener]
    }
    {
    const et = new EventTarget();
    const listener = () => console.log('Events are fun');
    et.addEventListener('foo', listener);
    getEventListeners(et, 'foo'); // [listener]
    }
    since

    v15.2.0, v14.17.0

    Parameters参数

    • emitter: EventEmitter | _DOMEventTarget
    • name: string | symbol

    Returns 返回 Function[]

  • listenerCount(emitter: EventEmitter, eventName: string | symbol): number
  • A class method that returns the number of listeners for the given eventNameregistered on the given emitter.返回在给定emitter上注册的给定eventName的侦听器数量的类方法。

    const { EventEmitter, listenerCount } = require('events');
    const myEmitter = new EventEmitter();
    myEmitter.on('event', () => {});
    myEmitter.on('event', () => {});
    console.log(listenerCount(myEmitter, 'event'));
    // Prints: 2
    since

    v0.9.12

    deprecated

    Since v3.2.0 - Use listenerCount instead.

    Parameters参数

    • emitter: EventEmitter

      The emitter to query要查询的发射器

    • eventName: string | symbol

      The event name事件名称

    Returns 返回 number

  • on(emitter: EventEmitter, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
  • const { on, EventEmitter } = require('events');
    (async () => {
    const ee = new EventEmitter();
    // Emit later on
    process.nextTick(() => {
    ee.emit('foo', 'bar'); ee.emit('foo', 42); });
    for await (const event of on(ee, 'foo')) {
    // The execution of this inner block is synchronous and it processes one event at a time (even with await). 这个内部块的执行是同步的,它一次处理一个事件(即使有等待)。
    // Do not use if concurrent execution is required. 如果需要并发执行,请不要使用。
    console.log(event); // prints ['bar'] [42]
    }
    // Unreachable here此处无法访问 })();

    Returns an AsyncIterator that iterates eventName events. 返回迭代eventName事件的AsyncIteratorIt will throw if the EventEmitter emits 'error'. 如果EventEmitter发出'error',它将抛出。It removes all listeners when exiting the loop. 退出循环时,它会删除所有侦听器。The value returned by each iteration is an array composed of the emitted event arguments.每次迭代返回的value是由发出的事件参数组成的数组。

    An AbortSignal can be used to cancel waiting on events:AbortSignal可用于取消等待事件:

    const { on, EventEmitter } = require('events');
    const ac = new AbortController();

    (async () => {
    const ee = new EventEmitter();

    // Emit later on
    process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
    });

    for await (const event of on(ee, 'foo', { signal: ac.signal })) {
    // The execution of this inner block is synchronous and it processes one event at a time (even with await). 这个内部块的执行是同步的,它一次处理一个事件(即使有等待)。
    // Do not use if concurrent execution is required.如果需要并发执行,请不要使用。
    console.log(event); // prints ['bar'] [42]
    }
    // Unreachable here此处无法访问
    })();

    process.nextTick(() => ac.abort());
    since

    v13.6.0, v12.16.0

    Parameters参数

    • emitter: EventEmitter
    • eventName: string

      The name of the event being listened for正在侦听的事件的名称

    • Optional options: StaticEventEmitterOptions

    Returns 返回 AsyncIterableIterator<any>

    that iterates eventName events emitted by the emitter迭代emitter发出的eventName事件

  • once(emitter: _NodeEventTarget, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
  • once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
  • Creates a Promise that is fulfilled when the EventEmitter emits the given event or that is rejected if the EventEmitter emits 'error' while waiting. 创建一个Promise,当EventEmitter发出给定事件时,该Promise将被满足,或者当EventEmitter在等待时发出'error'时,该Promise被拒绝。The Promise will resolve with an array of all the arguments emitted to the given event.Promise将使用向给定事件发出的所有参数的数组进行解析。

    This method is intentionally generic and works with the web platform EventTarget interface, which has no special'error' event semantics and does not listen to the 'error' event.此方法是有意泛型的,可与web平台EventTarget接口配合使用,该接口没有特殊的'error'事件语义,也不会侦听'error'

    const { once, EventEmitter } = require('events');

    async function run() {
    const ee = new EventEmitter();

    process.nextTick(() => {
    ee.emit('myevent', 42);
    });

    const [value] = await once(ee, 'myevent');
    console.log(value);

    const err = new Error('kaboom');
    process.nextTick(() => {
    ee.emit('error', err);
    });

    try {
    await once(ee, 'myevent');
    } catch (err) {
    console.log('error happened', err);
    }
    }

    run();

    The special handling of the 'error' event is only used when events.once()is used to wait for another event. 'error'事件的特殊处理仅在events.once()用于等待另一个事件时使用。If events.once() is used to wait for the 'error' event itself, then it is treated as any other kind of event without special handling:如果events.once()用于等待'error'事件本身,则它将被视为任何其他类型的事件,无需特殊处理:

    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();

    once(ee, 'error')
    .then(([err]) => console.log('ok', err.message))
    .catch((err) => console.log('error', err.message));

    ee.emit('error', new Error('boom'));

    // Prints: ok boom

    An AbortSignal can be used to cancel waiting for the event:AbortSignal可用于取消等待事件:

    const { EventEmitter, once } = require('events');

    const ee = new EventEmitter();
    const ac = new AbortController();

    async function foo(emitter, event, signal) {
    try {
    await once(emitter, event, { signal });
    console.log('event emitted!');
    } catch (error) {
    if (error.name === 'AbortError') {
    console.error('Waiting for the event was canceled!');
    } else {
    console.error('There was an error', error.message);
    }
    }
    }

    foo(ee, 'foo', ac.signal);
    ac.abort(); // Abort waiting for the event
    ee.emit('foo'); // Prints: Waiting for the event was canceled!
    since

    v11.13.0, v10.16.0

    Parameters参数

    • emitter: _NodeEventTarget
    • eventName: string | symbol
    • Optional options: StaticEventEmitterOptions

    Returns 返回 Promise<any[]>

  • Parameters参数

    • emitter: _DOMEventTarget
    • eventName: string
    • Optional options: StaticEventEmitterOptions

    Returns 返回 Promise<any[]>

  • setMaxListeners(n?: number, ...eventTargets: (EventEmitter | _DOMEventTarget)[]): void
  • const { setMaxListeners, EventEmitter } = require('events');
    const target = new EventTarget();
    const emitter = new EventEmitter();
    setMaxListeners(5, target, emitter);
    since

    v15.4.0

    Parameters参数

    • Optional n: number

      A non-negative number. 非负数。The maximum number of listeners per EventTarget event.每个EventTarget事件的最大侦听器数。

    • Rest ...eventTargets: (EventEmitter | _DOMEventTarget)[]

    Returns 返回 void

  • toWeb(streamWritable: Writable): WritableStream<any>
  • A utility method for creating a web WritableStream from a Writable.一种用于从Writable创建web WritableStream的实用程序方法。

    since

    v17.0.0

    experimental

    Parameters参数

    • streamWritable: Writable

    Returns 返回 WritableStream<any>

Generated using TypeDoc