Node.js beroperasi pada seni bina didorong acara berbenang tunggal, bermakna ia boleh mengendalikan banyak operasi serentak tanpa menyekat urutan utama. Ini penting untuk mencipta aplikasi berskala yang mana tugas seperti operasi I/O (membaca fail, menanya pangkalan data, dll.) perlu berlaku secara tidak segerak untuk mengelak daripada menyekat pelaksanaan kod lain.
Kod segerak melaksanakan satu langkah pada satu masa, bermakna setiap langkah perlu diselesaikan sebelum beralih ke langkah seterusnya. Ini boleh menyekat urutan utama jika operasi lambat (cth., membaca fail besar atau menanyakan pangkalan data).
Contoh (Kod Segerak):
const fs = require('fs'); const data = fs.readFileSync('file.txt', 'utf8'); console.log(data);
Kod tak segerak, sebaliknya, tidak menyekat utas utama. Daripada menunggu operasi selesai, program terus melaksanakan dan mengendalikan hasil operasi async apabila sudah sedia.
Contoh (Kod Asynchronous):
const fs = require('fs'); // Call Back fs.readFile('file.txt', 'utf8', (err, data) => { if (err) throw err; console.log(data); }); console.log('This will log before the file content!');
Async/Tunggu
Diperkenalkan pada ES2017 (Node.js 7.6+), async/wait ialah gula sintaktik yang dibina di atas janji. Ia membenarkan kod tak segerak ditulis dalam cara seperti segerak, menjadikannya lebih mudah dibaca dan lebih mudah diselenggara.
Contoh (Async/Tunggu):
const fs = require('fs').promises; async function readFile() { try { const data = await fs.readFile('file.txt', 'utf8'); console.log(data); } catch (err) { console.error(err); } } readFile();
Memilih kod async vs sync bergantung pada kes penggunaan anda. Untuk operasi berat I/O, sentiasa pilih corak tak segerak untuk memastikan utas utama tidak disekat dan aplikasi anda responsif.
Terima kasih kerana membaca, dan selamat mengekod! ?
Atas ialah kandungan terperinci Corak Async dalam Node.js - Tutorial Node.js - Bahagian 6. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!