Junior — Middle
Мо метавонед шарҳ диҳед, ки чӣ гуна аст, ки дар Node.js чӣ гуна аст ва чӣ гуна истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар Node.js, ҷараёни маълумот (Stream) як абстраксия барои кор бо маълумоти пайдарпай аст, ки қисм-қисм меоянд ё фиристода мешаванд, на ҳама якҷоя. Ин имкон медиҳад, ки коркарди ҳаҷми бузурги маълумотҳоро самаранок анҷом диҳед, бе зарурати пурра бор кардани онҳо ба хотира.
Дуруст чаҳор навъи асосии ҷараёнҳо мавҷуданд:
- Readable (қобили хондан): ҷараёнҳое, ки аз онҳо маълумот хонда мешавад (масалан, хондани файл).
- Writable (қобили навиштан): ҷараёнҳое, ки дар онҳо маълумот навиштани мумкин аст (масалан, навишт ба файл).
- Duplex: ҷараёнҳое, ки ҳам хонда ва ҳам навиштани мумкин аст (масалан, сокути шабакавӣ).
- Transform: навъе аз Duplex, ки метавонад маълумотро дар роҳ тағир диҳад (масалан, фишурдан).
Масалан барои истифодаи ҷараёни хондан барои хондани файл ва навиштани мазмуни он ба файли дигар:
const fs = require('fs');
const readable = fs.createReadStream('input.txt');
const writable = fs.createWriteStream('output.txt');
readable.pipe(writable);
Методи pipe() автоматӣ маълумотҳоро аз як ҷараён ба дигар мегузаронад, ки кор бо ҷараёнҳоро содда мекунад ва иҷрои онро дар коркарди ҳаҷми бузурги маълумотҳо беҳтар мекунад.