Las transmisiones en Node.js son objetos que permiten leer datos de una fuente y escribir datos en un destino de manera continua. Hay cuatro tipos de transmisiones: `Readable` para leer la operación, `Writable` para la operación de escritura, `Duplex` se puede utilizar tanto para la lectura como para la escritura, y `Transform` es un tipo de transmisión `Duplex` donde la salida se calcula según la entrada.
He aquí un ejemplo de cómo utilizarlas:
1) Transmisión `Readable`:
```javascript
var fs = require(“fs”);
var readableStream = fs.createReadStream(“archivo.txt”);
var data = “”;
readableStream.on(“data”, function(chunk) {
data += chunk;
});
readableStream.on(“end”, function() {
console.log(data);
});
```
En este ejemplo, se está leyendo un archivo `archivo.txt` utilizando transmisiones. El método `fs.createReadStream()` crea una nueva transmisión `Readable` que fluye los datos del archivo `archivo.txt`.
2) Transmisión `Writable`:
```javascript
var stream = require(“stream”);
var writableStream = new stream.Writable();
writableStream._write = function(chunk, encoding, done) {
console.log(chunk.toString());
done();
};
writableStream.write(“Hola, “);
writableStream.write(“mundo!\n”);
```
En este ejemplo, se está escribiendo en una transmisión `Writable` lo cual se verá reflejado en la consola de salida.
3) Transmisión `Duplex` y `Transform`:
```javascript
var stream = require(“stream”);
var Duplex = stream.Duplex || require(“readable-stream”).Duplex;
var duplexStream = new Duplex();
duplexStream._read = function _read(size) {
// No se hace nada aquí
};
duplexStream._write = function _write(chunk, encoding, callback) {
console.log(chunk.toString());
callback();
};
process.stdin.pipe(duplexStream).pipe(process.stdout);
```
En este ejemplo, `duplexStream` es una transmisión `Duplex` que se puede usar para leer la entrada del usuario y escribir de vuelta en la consola.