国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah hujung hadapan web tutorial js Asas -asas aliran node.js

Asas -asas aliran node.js

Feb 20, 2025 am 10:07 AM

The Basics of Node.js Streams

node.js, yang tidak segerak dan didorong oleh peristiwa, cemerlang dalam operasi I/O terikat. Memanfaatkan aliran Node.js dengan ketara memudahkan tugas -tugas ini dengan memproses data dengan cekap dalam ketulan yang lebih kecil. Mari kita menyelidiki dunia aliran dan lihat bagaimana mereka menyelaraskan i/o.

Konsep Utama:

    aliran node.js, asynchronous dan event-driven, mengoptimumkan I/O dengan mengendalikan data dalam bahagian yang boleh diurus.
  • aliran diklasifikasikan sebagai boleh dibaca, boleh ditulis, atau dupleks (kedua -duanya boleh dibaca dan boleh ditulis). Aliran yang boleh dibaca mengambil data dari sumber; aliran yang boleh ditulis menghantar data ke destinasi.
  • fungsi
  • tidak ternilai, memudahkan pemindahan data lancar antara sumber dan destinasi tanpa pengurusan aliran manual. pipe()
  • kaedah seperti
  • , Readable.pause(), dan Readable.resume() menawarkan kawalan berbutir ke atas aliran data, meningkatkan fungsi aliran. readable.unpipe()

Memahami Streams:

aliran sama dengan paip UNIX, membolehkan pemindahan data tanpa usaha dari sumber ke destinasi. Pada asasnya, aliran adalah

dengan kaedah khusus. Kaedah yang dilaksanakan menentukan sama ada aliran boleh dibaca, boleh ditulis, atau dupleks. Aliran yang boleh dibaca memberikan input data; Aliran yang boleh ditulis mengendalikan output data. EventEmitter

Anda mungkin menemui aliran di node.js sudah. Dalam pelayan HTTP, permintaan itu adalah aliran yang boleh dibaca, dan tindak balasnya adalah aliran yang boleh ditulis. Modul

menyediakan keupayaan aliran fail yang boleh dibaca dan ditulis. fs

Artikel ini memberi tumpuan kepada aliran yang boleh dibaca dan ditulis; aliran dupleks berada di luar skopnya.

aliran yang boleh dibaca:

Aliran yang boleh dibaca membaca data dari sumber (fail, penampan dalam memori, atau aliran lain). Menjadi

s, mereka mencetuskan pelbagai peristiwa. Kami menggunakan peristiwa ini untuk berinteraksi dengan sungai. EventEmitter

Membaca dari sungai:

Pendekatan yang paling biasa adalah untuk mendengar acara

dan melampirkan panggilan balik. Apabila data tersedia, kebakaran acara data, melaksanakan panggilan balik. data

const fs = require('fs');
const readableStream = fs.createReadStream('file.txt');
let data = '';
readableStream.on('data', (chunk) => { data += chunk; });
readableStream.on('end', () => { console.log(data); });

Mewujudkan aliran yang boleh dibaca. Pada mulanya statik, ia mula mengalir apabila melampirkan pendengar acara fs.createReadStream(). Potongan data kemudiannya diserahkan kepada panggilan balik. Kekerapan peristiwa data ditentukan oleh pelaksanaan aliran (mis., Permintaan HTTP mungkin memancarkan peristiwa setiap kb, manakala aliran fail mungkin memancarkan setiap baris). data

acara

memberi isyarat akhir data. end

secara alternatif, berulang kali panggil

pada contoh aliran sehingga semua data dibaca: read()

const fs = require('fs');
const readableStream = fs.createReadStream('file.txt');
let data = '';
readableStream.on('data', (chunk) => { data += chunk; });
readableStream.on('end', () => { console.log(data); });

read() mengambil data dari penampan dalaman. Ia kembali null apabila tiada data kekal. Acara readable menunjukkan ketersediaan data.

Menetapkan Pengekodan:

Data biasanya objek Buffer. Untuk rentetan, gunakan Readable.setEncoding():

const fs = require('fs');
const readableStream = fs.createReadStream('file.txt');
let data = '';
let chunk;
readableStream.on('readable', () => {
  while ((chunk = readableStream.read()) !== null) {
    data += chunk;
  }
});
readableStream.on('end', () => { console.log(data); });

ini menafsirkan data sebagai UTF-8, menyampaikannya sebagai rentetan ke panggil balik.

Piping:

Piping memudahkan pemindahan data antara sumber dan destinasi:

const fs = require('fs');
const readableStream = fs.createReadStream('file.txt');
let data = '';
readableStream.setEncoding('utf8');
readableStream.on('data', (chunk) => { data += chunk; });
readableStream.on('end', () => { console.log(data); });

pipe() Mengendalikan aliran data secara automatik.

Chaining:

aliran boleh dirantai:

const fs = require('fs');
const readableStream = fs.createReadStream('file1.txt');
const writableStream = fs.createWriteStream('file2.txt');
readableStream.pipe(writableStream);

Decompresses ini input.txt.gz dan menulis hasilnya kepada output.txt.

kaedah aliran boleh dibaca tambahan:

  • Readable.pause(): Jeda aliran.
  • Readable.resume(): Sambungkan aliran yang dijeda.
  • readable.unpipe(): Mengeluarkan aliran destinasi dari paip.

Streams wrable:

Stream yang boleh ditulis menghantar data ke destinasi. Seperti aliran yang boleh dibaca, mereka EventEmitter s.

Menulis ke sungai:

Gunakan write() untuk menghantar data:

const fs = require('fs');
const zlib = require('zlib');
fs.createReadStream('input.txt.gz')
  .pipe(zlib.createGunzip())
  .pipe(fs.createWriteStream('output.txt'));

write() Mengembalikan kejayaan yang menunjukkan boolean. Jika palsu, aliran itu penuh sepenuhnya; Tunggu acara drain sebelum menulis lebih lanjut.

Akhir data:

Panggil end() untuk memberi isyarat kepada akhir data. Acara finish dipancarkan selepas semua data dibuang. Anda tidak boleh menulis selepas memanggil end().

Peristiwa Stream yang penting:

  • error: Menunjukkan ralat.
  • pipe: dipancarkan apabila aliran yang boleh dibaca disalurkan.
  • unpipe: dipancarkan apabila unpipe() dipanggil pada aliran yang boleh dibaca.

Kesimpulan:

aliran adalah ciri yang kuat dalam node.js, meningkatkan kecekapan I/O. Memahami aliran, paip, dan chaining membolehkan menulis kod yang bersih dan pelukis.

Node.js Streams FAQ:

  • Apakah aliran Node.js?

  • Jenis utama aliran Node.js?

    Membuat aliran yang boleh dibaca? Gunakan
  • dan melaksanakan kaedah
  • .

    stream.Readable _read Kes penggunaan biasa untuk aliran yang boleh dibaca?

    Membaca fail besar, memproses data dari permintaan HTTP, pengendalian data masa nyata.
  • Membuat aliran yang boleh ditulis? Gunakan

    dan melaksanakan kaedah
  • .
  • Kegunaan umum aliran yang boleh ditulis? Menyimpan data ke fail, menghantar data ke perkhidmatan.

  • aliran dupleks? menggabungkan fungsi yang boleh dibaca dan ditulis.

  • Transformasi Streams? Ubah suai data ketika ia melewati (mis., Mampatan, penyulitan).

  • data paip antara aliran? Gunakan kaedah .pipe().

  • Amalan terbaik untuk bekerja dengan aliran Node.js? util.promisify

Atas ialah kandungan terperinci Asas -asas aliran node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Java vs JavaScript: Membersihkan kekeliruan Java vs JavaScript: Membersihkan kekeliruan Jun 20, 2025 am 12:27 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Komen JavaScript: Penjelasan ringkas Komen JavaScript: Penjelasan ringkas Jun 19, 2025 am 12:40 AM

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Bagaimana untuk bekerja dengan tarikh dan masa di JS? Bagaimana untuk bekerja dengan tarikh dan masa di JS? Jul 01, 2025 am 01:27 AM

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

Kenapa anda harus meletakkan tag  di bahagian bawah ? Kenapa anda harus meletakkan tag di bahagian bawah ? Jul 02, 2025 am 01:22 AM

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju JavaScript vs Java: Perbandingan Komprehensif untuk Pemaju Jun 20, 2025 am 12:21 AM

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

JavaScript: Meneroka jenis data untuk pengekodan yang cekap JavaScript: Meneroka jenis data untuk pengekodan yang cekap Jun 20, 2025 am 12:46 AM

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Apakah peristiwa yang menggelegak dan menangkap di Dom? Apakah peristiwa yang menggelegak dan menangkap di Dom? Jul 02, 2025 am 01:19 AM

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Apa perbezaan antara Java dan JavaScript? Apa perbezaan antara Java dan JavaScript? Jun 17, 2025 am 09:17 AM

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.

See all articles