El método writable.destroy() es una interfaz de programación de aplicaciones incorporada del módulo Stream que se usa para destruir el flujo creado y no puede llamar al método write() para escribir datos nuevamente después de haber destruido el flujo creado.
Sintaxis:
writable.destroy()
Parámetros: este método no acepta ningún parámetro.
Valor devuelto: Devuelve todas las propiedades del Escribible en las que la propiedad destruida se establece en verdadero.
Los siguientes ejemplos ilustran el uso del método writable.cork() en Node.js:
Ejemplo 1:
// Node.js program to demonstrate the // writable.uncork() method const stream = require('stream'); // Creating a stream and creating // a write function const writable = new stream.Writable({ // Write function with its // parameters write: function(chunk, encoding, next) { // Converting the chunk of // data to string console.log(chunk.toString()); next(); } }); // Writing data writable.write('hi'); // Again writing some data writable.write('hello'); // Calling destroy function writable.destroy();
Producción:
hi hello Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: true, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: false, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, bufferedRequest: null, lastBufferedRequest: null, pendingcb: 2, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: false, bufferedRequestCount: 0, corkedRequestsFree: { next: null, entry: null, finish: [Function: bound onCorkedFinish] } }, writable: true, _write: [Function: write], domain: null, _events: [Object: null prototype] {}, _eventsCount: 0, _maxListeners: undefined }
Entonces, la secuencia creada se destruye.
Ejemplo 2:
// Node.js program to demonstrate the // writable.uncork() method const stream = require('stream'); // Creating a stream and creating // a write function const writable = new stream.Writable({ // Write function with its // parameters write: function(chunk, encoding, next) { // Converting the chunk of // data to string console.log(chunk.toString()); next(); } }); // Writing data writable.write('hi'); // Again writing some data writable.write('hello'); // Calling destroy function writable.destroy(); writable.write('');
Producción:
hi hello Error [ERR_STREAM_DESTROYED]: Cannot call write after a stream was destro yed at doWrite (_stream_writable.js:411:19) at writeOrBuffer (_stream_writable.js:399:5) at Writable.write (_stream_writable.js:299:11) at /home/runner/QuizzicalFluffyOperation/index.js:29:10 at Script.runInContext (vm.js:133:20) at Object. (/run_dir/interp.js:156:20) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789: 10) at Module.load (internal/modules/cjs/loader.js:653:32)
En el ejemplo anterior, se produce un error porque se llamó al método write() después de que se destruyó la secuencia.
Referencia: https://nodejs.org/api/stream.html#stream_writable_destroy_error
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA