RetriableReadableStream class
SOLO ESTÁ DISPONIBLE EN NODE.JS RUNTIME. Un Node.js ReadableStream reintentará internamente cuando finalice inesperadamente ReadableStream interno.
- Extends
-
Readable
Constructores
| Retriable |
Crea una instancia de RetriableReadableStream. |
Propiedades
| destroyed | Se |
| readable | Es |
| readable |
Devuelve si la secuencia se ha destruido o se ha producido un error antes de emitir |
| readable |
Devuelve si se ha emitido |
| readable |
Captador de la propiedad |
| readable |
Se convierte en |
| readable |
Esta propiedad refleja el estado actual de una secuencia de |
| readable |
Devuelve el valor de |
| readable |
Esta propiedad contiene el número de bytes (o objetos) de la cola lista para leerse. El valor proporciona datos de introspección con respecto al estado del |
| readable |
Captador de la propiedad |
Métodos
| add |
Emisor de eventos: los eventos definidos en documentos, entre los que se incluyen:
|
| add |
|
| add |
|
| add |
|
| add |
|
| add |
|
| add |
|
| add |
|
| destroy(Error) | Destruye la secuencia. Si lo desea, emita un evento de Los implementadores no deben invalidar este método, sino implementar |
| emit("close") | |
| emit("data", any) | |
| emit("end") | |
| emit("error", Error) | |
| emit("pause") | |
| emit("readable") | |
| emit("resume") | |
| emit(string | symbol, any[]) | |
| event |
Devuelve una matriz que enumera los eventos para los que el emisor ha registrado agentes de escucha. Los valores de la matriz son cadenas o
|
| from(Iterable<any> | Async |
Método de utilidad para crear secuencias legibles fuera de iteradores. |
| get |
Devuelve el valor máximo actual del agente de escucha para el |
| is |
Devuelve si la secuencia se ha leído o cancelado. |
| is |
El método
|
| listener |
Devuelve el número de agentes de escucha que escuchan el evento denominado |
| listeners(string | symbol) | Devuelve una copia de la matriz de agentes de escucha del evento denominado
|
| off(string | symbol, (args: any[]) => void) | Alias para |
| on("close", () => void) | |
| on("data", (chunk: any) => void) | |
| on("end", () => void) | |
| on("error", (err: Error) => void) | |
| on("pause", () => void) | |
| on("readable", () => void) | |
| on("resume", () => void) | |
| on(string | symbol, (args: any[]) => void) | |
| once("close", () => void) | |
| once("data", (chunk: any) => void) | |
| once("end", () => void) | |
| once("error", (err: Error) => void) | |
| once("pause", () => void) | |
| once("readable", () => void) | |
| once("resume", () => void) | |
| once(string | symbol, (args: any[]) => void) | |
| pause() | El método
El método |
| pipe<T>(T, undefined | Object) | |
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| prepend |
|
| push(any, Buffer |
|
| raw |
Devuelve una copia de la matriz de agentes de escucha para el evento denominado
|
| read(undefined | number) | El método Si no se especifica el argumento El argumento Solo se debe llamar al método
Cada llamada a Por lo tanto, para leer todo el contenido de un archivo de un
Una secuencia Si el método Llamar a <xref:read> después de emitir el evento |
| remove |
Quita todos los agentes de escucha o los del Devuelve una referencia al |
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| remove |
|
| resume() | El método
El método |
| set |
El método La secuencia de
|
| set |
De forma predeterminada, |
| unpipe(NodeJS. |
El método Si se especifica el
|
| unshift(any, Buffer |
Pasar No se puede llamar al método Los desarrolladores que usan
A diferencia de <xref:push>, |
| wrap(Readable |
Antes de Node.js 0.10, las secuencias no implementaban toda la API del módulo de Rara vez será necesario usar
|
Detalles del constructor
RetriableReadableStream(Aborter, ReadableStream, ReadableStreamGetter, number, number, IRetriableReadableStreamOptions)
Crea una instancia de RetriableReadableStream.
new RetriableReadableStream(aborter: Aborter, source: ReadableStream, getter: ReadableStreamGetter, offset: number, count: number, options?: IRetriableReadableStreamOptions)
Parámetros
- aborter
- Aborter
Cree una nueva instancia de Aborter con Aborter.none o Aborter.timeout(), documentos goto de Aborter para obtener más ejemplos sobre la cancelación de solicitudes.
- source
-
ReadableStream
El objeto ReadableStream actual devuelto desde getter
- getter
- ReadableStreamGetter
Un método que llama a la solicitud de descarga que devuelve un nuevo ReadableStream desde el desplazamiento especificado
- offset
-
number
Posición de desplazamiento en el origen de datos original que se va a leer
- count
-
number
Cantidad de datos en el origen de datos original que se va a leer
- options
- IRetriableReadableStreamOptions
Detalles de las propiedades
destroyed
Se true después de llamar a readable.destroy().
destroyed: boolean
Valor de propiedad
boolean
readable
Es true si es seguro llamar a readable.read(), lo que significa que la secuencia no se ha destruido o emitido 'error' o 'end'.
readable: boolean
Valor de propiedad
boolean
readableAborted
Devuelve si la secuencia se ha destruido o se ha producido un error antes de emitir 'end'.
readableAborted: boolean
Valor de propiedad
boolean
readableDidRead
Devuelve si se ha emitido 'data'.
readableDidRead: boolean
Valor de propiedad
boolean
readableEncoding
Captador de la propiedad encoding de una secuencia de Readable determinada. La propiedad encodingse puede establecer mediante el método readable.setEncoding().
readableEncoding: BufferEncoding | null
Valor de propiedad
BufferEncoding | null
readableEnded
Se convierte en true cuando se emite 'end' evento.
readableEnded: boolean
Valor de propiedad
boolean
readableFlowing
Esta propiedad refleja el estado actual de una secuencia de Readable tal y como se describe en la sección Three states.
readableFlowing: boolean | null
Valor de propiedad
boolean | null
readableHighWaterMark
Devuelve el valor de highWaterMark pasado al crear este Readable.
readableHighWaterMark: number
Valor de propiedad
number
readableLength
Esta propiedad contiene el número de bytes (o objetos) de la cola lista para leerse. El valor proporciona datos de introspección con respecto al estado del highWaterMark.
readableLength: number
Valor de propiedad
number
readableObjectMode
Captador de la propiedad objectMode de una secuencia de Readable determinada.
readableObjectMode: boolean
Valor de propiedad
boolean
Detalles del método
addListener("close", () => void)
Emisor de eventos: los eventos definidos en documentos, entre los que se incluyen:
- cerrar
- datos
- fin
- error
- pausa
- legible
- reanudar
function addListener(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
addListener("data", (chunk: any) => void)
function addListener(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
addListener("end", () => void)
function addListener(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
addListener("error", (err: Error) => void)
function addListener(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
addListener("pause", () => void)
function addListener(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
addListener("readable", () => void)
function addListener(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
addListener("resume", () => void)
function addListener(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
addListener(string | symbol, (args: any[]) => void)
function addListener(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
destroy(Error)
Destruye la secuencia. Si lo desea, emita un evento de 'error' y emita un evento 'close'(a menos que emitClose esté establecido en false). Después de esta llamada, la secuencia legible liberará los recursos internos y las llamadas posteriores a push()se omitirán.
Una vez que destroy() se haya llamado a cualquier llamada adicional será un no-op y no se pueden emitir más errores excepto de _destroy() como 'error'.
Los implementadores no deben invalidar este método, sino implementar readable._destroy().
function destroy(error?: Error)
Parámetros
- error
-
Error
Error que se pasará como carga en 'error' evento
emit("close")
function emit(event: "close")
Parámetros
- event
-
"close"
Devoluciones
boolean
emit("data", any)
function emit(event: "data", chunk: any)
Parámetros
- event
-
"data"
- chunk
-
any
Devoluciones
boolean
emit("end")
function emit(event: "end")
Parámetros
- event
-
"end"
Devoluciones
boolean
emit("error", Error)
function emit(event: "error", err: Error)
Parámetros
- event
-
"error"
- err
-
Error
Devoluciones
boolean
emit("pause")
function emit(event: "pause")
Parámetros
- event
-
"pause"
Devoluciones
boolean
emit("readable")
function emit(event: "readable")
Parámetros
- event
-
"readable"
Devoluciones
boolean
emit("resume")
function emit(event: "resume")
Parámetros
- event
-
"resume"
Devoluciones
boolean
emit(string | symbol, any[])
function emit(event: string | symbol, args: any[])
Parámetros
- event
-
string | symbol
- args
-
any[]
Devoluciones
boolean
eventNames()
Devuelve una matriz que enumera los eventos para los que el emisor ha registrado agentes de escucha. Los valores de la matriz son cadenas o Symbols.
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) ]
function eventNames()
Devoluciones
Array<string | symbol>
from(Iterable<any> | AsyncIterable<any>, ReadableOptions)
Método de utilidad para crear secuencias legibles fuera de iteradores.
static function from(iterable: Iterable<any> | AsyncIterable<any>, options?: ReadableOptions)
Parámetros
- iterable
-
Iterable<any> | AsyncIterable<any>
- options
-
ReadableOptions
Devoluciones
Readable
getMaxListeners()
Devuelve el valor máximo actual del agente de escucha para el EventEmitter que se establece mediante emitter.setMaxListeners(n) o los valores predeterminados en <xref:defaultMaxListeners>.
function getMaxListeners()
Devoluciones
number
isDisturbed(Readable | ReadableStream)
Devuelve si la secuencia se ha leído o cancelado.
static function isDisturbed(stream: Readable | ReadableStream)
Parámetros
- stream
-
Readable | ReadableStream
Devoluciones
boolean
isPaused()
El método readable.isPaused() devuelve el estado operativo actual delReadable. Esto se usa principalmente por el mecanismo que subyace al métodoreadable.pipe(). En la mayoría de los casos habituales, no habrá ninguna razón para usar este método directamente.
const readable = new stream.Readable();
readable.isPaused(); // === false
readable.pause();
readable.isPaused(); // === true
readable.resume();
readable.isPaused(); // === false
function isPaused()
Devoluciones
boolean
listenerCount(string | symbol)
Devuelve el número de agentes de escucha que escuchan el evento denominado eventName.
function listenerCount(eventName: string | symbol)
Parámetros
- eventName
-
string | symbol
Nombre del evento que se está escuchando
Devoluciones
number
listeners(string | symbol)
Devuelve una copia de la matriz de agentes de escucha del evento denominado eventName.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners(eventName: string | symbol)
Parámetros
- eventName
-
string | symbol
Devoluciones
Function[]
off(string | symbol, (args: any[]) => void)
Alias para emitter.removeListener().
function off(eventName: string | symbol, listener: (args: any[]) => void)
Parámetros
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
on("close", () => void)
function on(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
on("data", (chunk: any) => void)
function on(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
on("end", () => void)
function on(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
on("error", (err: Error) => void)
function on(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
on("pause", () => void)
function on(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
on("readable", () => void)
function on(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
on("resume", () => void)
function on(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
on(string | symbol, (args: any[]) => void)
function on(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
once("close", () => void)
function once(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
once("data", (chunk: any) => void)
function once(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
once("end", () => void)
function once(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
once("error", (err: Error) => void)
function once(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
once("pause", () => void)
function once(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
once("readable", () => void)
function once(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
once("resume", () => void)
function once(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
once(string | symbol, (args: any[]) => void)
function once(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
pause()
El método readable.pause() hará que una secuencia en modo de flujo deje de emitir eventos de 'data', lo que cambiará del modo de flujo. Los datos que estén disponibles permanecerán en el búfer interno.
const readable = getReadableStreamSomehow();
readable.on('data', (chunk) => {
console.log(`Received ${chunk.length} bytes of data.`);
readable.pause();
console.log('There will be no additional data for 1 second.');
setTimeout(() => {
console.log('Now data will start flowing again.');
readable.resume();
}, 1000);
});
El método readable.pause() no tiene ningún efecto si hay un agente de escucha de eventos 'readable'.
function pause()
Devoluciones
this
pipe<T>(T, undefined | Object)
function pipe<T>(destination: T, options?: undefined | Object)
Parámetros
- destination
-
T
- options
-
undefined | Object
Devoluciones
T
prependListener("close", () => void)
function prependListener(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
prependListener("data", (chunk: any) => void)
function prependListener(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
prependListener("end", () => void)
function prependListener(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
prependListener("error", (err: Error) => void)
function prependListener(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
prependListener("pause", () => void)
function prependListener(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
prependListener("readable", () => void)
function prependListener(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
prependListener("resume", () => void)
function prependListener(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
prependListener(string | symbol, (args: any[]) => void)
function prependListener(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
prependOnceListener("close", () => void)
function prependOnceListener(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
prependOnceListener("data", (chunk: any) => void)
function prependOnceListener(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
prependOnceListener("end", () => void)
function prependOnceListener(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
prependOnceListener("error", (err: Error) => void)
function prependOnceListener(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
prependOnceListener("pause", () => void)
function prependOnceListener(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
prependOnceListener("readable", () => void)
function prependOnceListener(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
prependOnceListener("resume", () => void)
function prependOnceListener(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
prependOnceListener(string | symbol, (args: any[]) => void)
function prependOnceListener(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
push(any, BufferEncoding)
function push(chunk: any, encoding?: BufferEncoding)
Parámetros
- chunk
-
any
- encoding
-
BufferEncoding
Devoluciones
boolean
rawListeners(string | symbol)
Devuelve una copia de la matriz de agentes de escucha para el evento denominado eventName, incluidos los contenedores (como los creados por .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');
function rawListeners(eventName: string | symbol)
Parámetros
- eventName
-
string | symbol
Devoluciones
Function[]
read(undefined | number)
El método readable.read() extrae algunos datos del búfer interno y los devuelve. Si no hay datos disponibles para leerse, se devuelve null. De forma predeterminada, los datos se devolverán como un objeto Buffer a menos que se haya especificado una codificación mediante el método readable.setEncoding() o la secuencia funciona en modo de objeto.
El argumento opcional size especifica un número específico de bytes que se van a leer. Sisize bytes no están disponibles para leerse, null se devolverá _unless_the secuencia ha finalizado, en cuyo caso se devolverán todos los datos restantes en el búfer interno.
Si no se especifica el argumento size, se devolverán todos los datos contenidos en el búfer interno.
El argumento size debe ser menor o igual que 1 GiB.
Solo se debe llamar al método readable.read() en Readable secuencias que funcionan en modo en pausa. En el modo de flujo, se llama a readable.read() automáticamente hasta que el búfer interno está completamente purgado.
const readable = getReadableStreamSomehow();
// 'readable' may be triggered multiple times as data is buffered in
readable.on('readable', () => {
let chunk;
console.log('Stream is readable (new data received in buffer)');
// Use a loop to make sure we read all currently available data
while (null !== (chunk = readable.read())) {
console.log(`Read ${chunk.length} bytes of data...`);
}
});
// 'end' will be triggered once when there is no more data available
readable.on('end', () => {
console.log('Reached end of stream.');
});
Cada llamada a readable.read() devuelve un fragmento de datos o null. Los fragmentos no se concatenan. Es necesario un bucle while para consumir todos los datos actualmente en el búfer. Al leer un archivo grande .read() puede devolver null, haber consumido todo el contenido almacenado en búfer hasta ahora, pero todavía hay más datos que no se han almacenado en búfer. En este caso, se emitirá un nuevo evento 'readable' cuando haya más datos en el búfer. Por último, se emitirá el evento 'end' cuando no haya más datos.
Por lo tanto, para leer todo el contenido de un archivo de un readable, es necesario recopilar fragmentos en varios eventos de 'readable':
const chunks = [];
readable.on('readable', () => {
let chunk;
while (null !== (chunk = readable.read())) {
chunks.push(chunk);
}
});
readable.on('end', () => {
const content = chunks.join('');
});
Una secuencia Readable en modo de objeto siempre devolverá un solo elemento de una llamada a readable.read(size), independientemente del valor del argumentosize.
Si el método readable.read() devuelve un fragmento de datos, también se emitirá un evento 'data'.
Llamar a <xref:read> después de emitir el evento 'end' devolverá null. No se generará ningún error en tiempo de ejecución.
function read(size?: undefined | number)
Parámetros
- size
-
undefined | number
Argumento opcional para especificar la cantidad de datos que se van a leer.
Devoluciones
any
removeAllListeners(string | symbol)
Quita todos los agentes de escucha o los del eventNameespecificado.
Es un procedimiento incorrecto quitar agentes de escucha agregados en otro lugar del código, especialmente cuando la instancia de EventEmitter se creó mediante algún otro componente o módulo (por ejemplo, sockets o flujos de archivos).
Devuelve una referencia al EventEmitter, para que las llamadas se puedan encadenar.
function removeAllListeners(event?: string | symbol)
Parámetros
- event
-
string | symbol
Devoluciones
this
removeListener("close", () => void)
function removeListener(event: "close", listener: () => void)
Parámetros
- event
-
"close"
- listener
-
() => void
Devoluciones
this
removeListener("data", (chunk: any) => void)
function removeListener(event: "data", listener: (chunk: any) => void)
Parámetros
- event
-
"data"
- listener
-
(chunk: any) => void
Devoluciones
this
removeListener("end", () => void)
function removeListener(event: "end", listener: () => void)
Parámetros
- event
-
"end"
- listener
-
() => void
Devoluciones
this
removeListener("error", (err: Error) => void)
function removeListener(event: "error", listener: (err: Error) => void)
Parámetros
- event
-
"error"
- listener
-
(err: Error) => void
Devoluciones
this
removeListener("pause", () => void)
function removeListener(event: "pause", listener: () => void)
Parámetros
- event
-
"pause"
- listener
-
() => void
Devoluciones
this
removeListener("readable", () => void)
function removeListener(event: "readable", listener: () => void)
Parámetros
- event
-
"readable"
- listener
-
() => void
Devoluciones
this
removeListener("resume", () => void)
function removeListener(event: "resume", listener: () => void)
Parámetros
- event
-
"resume"
- listener
-
() => void
Devoluciones
this
removeListener(string | symbol, (args: any[]) => void)
function removeListener(event: string | symbol, listener: (args: any[]) => void)
Parámetros
- event
-
string | symbol
- listener
-
(args: any[]) => void
Devoluciones
this
resume()
El método readable.resume() hace que una secuencia Readable pausa explícitamente reanude la emisión de eventos de 'data', cambiando la secuencia al modo de flujo.
El método readable.resume() se puede usar para consumir completamente los datos de una secuencia sin procesar realmente ninguno de esos datos:
getReadableStreamSomehow()
.resume()
.on('end', () => {
console.log('Reached the end, but did not read anything.');
});
El método readable.resume() no tiene ningún efecto si hay un agente de escucha de eventos 'readable'.
function resume()
Devoluciones
this
setEncoding(BufferEncoding)
El método readable.setEncoding() establece la codificación de caracteres para los datos leídos de la secuencia de Readable.
De forma predeterminada, no se asigna ninguna codificación y los datos de flujo se devolverán como objetosBuffer. Establecer una codificación hace que los datos del flujo se devuelvan como cadenas de la codificación especificada en lugar de como objetos Buffer. Por ejemplo, llamar a readable.setEncoding('utf8') hará que los datos de salida se interpreten como datos UTF-8 y se pasarán como cadenas. Llamar areadable.setEncoding('hex') hará que los datos se codifiquen en formato de cadena hexadecimal.
La secuencia de Readable controlará correctamente los caracteres de varios bytes entregados a través de la secuencia que, de lo contrario, se descodificarían incorrectamente si simplemente se extraen de la secuencia como objetos Buffer.
const readable = getReadableStreamSomehow();
readable.setEncoding('utf8');
readable.on('data', (chunk) => {
assert.equal(typeof chunk, 'string');
console.log('Got %d characters of string data:', chunk.length);
});
function setEncoding(encoding: BufferEncoding)
Parámetros
- encoding
-
BufferEncoding
Codificación que se va a usar.
Devoluciones
this
setMaxListeners(number)
De forma predeterminada, EventEmitters imprimirán una advertencia si se agregan más de 10 agentes de escucha para un evento determinado. Este es un valor predeterminado útil que ayuda a encontrar fugas de memoria. El método emitter.setMaxListeners() permite modificar el límite para esta instancia de EventEmitter específica. El valor se puede establecer enInfinity (o 0) para indicar un número ilimitado de agentes de escucha.
Devuelve una referencia al EventEmitter, para que las llamadas se puedan encadenar.
function setMaxListeners(n: number)
Parámetros
- n
-
number
Devoluciones
this
unpipe(NodeJS.WritableStream)
El método readable.unpipe() desasocia una secuencia de Writable previamente asociada mediante el método <xref:pipe>.
Si no se especifica el destination, se desasocian todas las canalizaciones de.
Si se especifica el destination, pero no se configura ninguna canalización para ella, el método no hace nada.
const fs = require('fs');
const readable = getReadableStreamSomehow();
const writable = fs.createWriteStream('file.txt');
// All the data from readable goes into 'file.txt',
// but only for the first second.
readable.pipe(writable);
setTimeout(() => {
console.log('Stop writing to file.txt.');
readable.unpipe(writable);
console.log('Manually close the file stream.');
writable.end();
}, 1000);
function unpipe(destination?: NodeJS.WritableStream)
Parámetros
- destination
- NodeJS.WritableStream
Secuencia específica opcional para despipear
Devoluciones
this
unshift(any, BufferEncoding)
Pasar chunk como null indica el final de la secuencia (EOF) y se comporta igual que readable.push(null), después de lo cual no se pueden escribir más datos. La señal EOF se coloca al final del búfer y los datos almacenados en búfer se seguirán vacíando.
El método readable.unshift() inserta un fragmento de datos en el búfer interno. Esto resulta útil en determinadas situaciones en las que el código consume una secuencia que necesita "no consumir" cierta cantidad de datos que ha extraído optimistamente del origen, de modo que los datos se puedan pasar a alguna otra parte.
No se puede llamar al método stream.unshift(chunk) después de que se haya emitido el evento 'end' o se produzca un error en tiempo de ejecución.
Los desarrolladores que usan stream.unshift() a menudo deben considerar la posibilidad de cambiar al uso de una secuencia de Transform en su lugar. Consulte la sección API for stream implementers para obtener más información.
// Pull off a header delimited by \n\n.
// Use unshift() if we get too much.
// Call the callback with (error, header, stream).
const { StringDecoder } = require('string_decoder');
function parseHeader(stream, callback) {
stream.on('error', callback);
stream.on('readable', onReadable);
const decoder = new StringDecoder('utf8');
let header = '';
function onReadable() {
let chunk;
while (null !== (chunk = stream.read())) {
const str = decoder.write(chunk);
if (str.match(/\n\n/)) {
// Found the header boundary.
const split = str.split(/\n\n/);
header += split.shift();
const remaining = split.join('\n\n');
const buf = Buffer.from(remaining, 'utf8');
stream.removeListener('error', callback);
// Remove the 'readable' listener before unshifting.
stream.removeListener('readable', onReadable);
if (buf.length)
stream.unshift(buf);
// Now the body of the message can be read from the stream.
callback(null, header, stream);
} else {
// Still reading the header.
header += str;
}
}
}
}
A diferencia de <xref:push>, stream.unshift(chunk) no finalizará el proceso de lectura restableciendo el estado de lectura interno de la secuencia.
Esto puede provocar resultados inesperados si se llama a readable.unshift() durante una lectura (es decir, desde dentro de una implementación de <xref:_read> en una secuencia personalizada). Después de la llamada a readable.unshift() con un <xref:push> inmediato restablecerá el estado de lectura adecuadamente, pero es mejor evitar simplemente llamar a readable.unshift() mientras está en proceso de realizar una lectura.
function unshift(chunk: any, encoding?: BufferEncoding)
Parámetros
- chunk
-
any
Fragmento de datos que se van a desactivar en la cola de lectura. Para las secuencias que no funcionan en modo de objeto, chunk deben ser una cadena, Buffer, Uint8Array o null. En el caso de los flujos de modo de objeto, chunk puede ser cualquier valor de JavaScript.
- encoding
-
BufferEncoding
Codificación de fragmentos de cadena. Debe ser una codificación Buffer válida, como 'utf8' o 'ascii'.
wrap(ReadableStream)
Antes de Node.js 0.10, las secuencias no implementaban toda la API del módulo de stream tal como se define actualmente. (Consulte Compatibility para obtener más información). Cuando se usa una biblioteca de Node.js anterior que emite eventos 'data' y tiene un método <xref:pause> que solo es de asesoramiento, el métodoreadable.wrap() se puede usar para crear una secuencia de Readable que use la secuencia antigua como origen de datos.
Rara vez será necesario usar readable.wrap(), pero el método se ha proporcionado como una comodidad para interactuar con aplicaciones y bibliotecas de Node.js anteriores.
const { OldReader } = require('./old-api-module.js');
const { Readable } = require('stream');
const oreader = new OldReader();
const myReader = new Readable().wrap(oreader);
myReader.on('readable', () => {
myReader.read(); // etc.
});
function wrap(stream: ReadableStream)
Parámetros
- stream
-
ReadableStream
Secuencia legible de "estilo antiguo"
Devoluciones
this