Ing proses ngembangake aplikasi Node.js, pangerten lan nggarap penanganan acara lan pangolahan asinkron penting. Node.js dibangun ing model sing didorong acara lan ora sinkron, ngidini tugas bisa dieksekusi tanpa ngenteni rampung. Nyatane, ngerti lan ngetrapake penanganan acara lan pangolahan asinkron kanthi bener minangka bagean penting kanggo ngoptimalake kinerja aplikasi.
Acara lan callback s ing Node.js
Ing Node.js, acara lan callback s nduweni peran wigati kanggo nangani operasi sing ora sinkron. Acara minangka cara kanggo nangani lan nanggapi tumindak utawa kedadeyan tartamtu sing kedadeyan ing aplikasi. Callback s, ing tangan liyane, iku fungsi sing kaleksanan sawise acara tartamtu utawa operasi rampung.
Node.js nyedhiyakake arsitektur sing didorong acara ing ngendi bagean aplikasi sing beda-beda bisa ngetokake acara lan ngrungokake. Iki ngidini pangolahan sing efisien lan ora ngalangi sawetara operasi bebarengan.
Callback s umume digunakake ing Node.js kanggo nangani operasi bedo. Iki diterusake minangka argumen kanggo fungsi lan dieksekusi sawise operasi rampung. Callback s nyedhiyakake cara kanggo nangani asil utawa kesalahan sing kedadeyan sajrone tugas sing ora sinkron.
Iki conto nggunakake callback ing Node.js:
// A function that takes a callback
function fetchData(callback) {
// Simulate fetching data from an asynchronous operation
setTimeout(() => {
const data = { name: 'John', age: 30 };
callback(null, data); // Pass the data to the callback
}, 2000); // Simulate a 2-second delay
}
// Call the fetchData function and provide a callback
fetchData((error, data) => {
if(error) {
console.error('Error:', error);
} else {
console.log('Data:', data);
}
});
Ing conto iki, kita duwe fungsi sing disebut fetchData
simulasi njupuk data saka operasi bedo(contone, nelpon API utawa takon database). Butuh callback fungsi minangka argumentasi.
Ing njero fungsi kasebut fetchData
, digunakake setTimeout
kanggo simulasi operasi asinkron. Sawise wektu tundha 2 detik, kita nggawe sawetara data sampel lan pass menyang fungsi callback bebarengan karo kesalahan(sing disetel kanggo null
ing kasus iki).
Njaba fetchData
fungsi, kita nelpon lan nyedhiyani callback fungsi. Ing callback, kita nangani sembarang kasalahan potensial lan proses data ditampa. Yen ana kesalahan, kita log menyang console. Yen ora, kita log data.
Iki minangka conto dhasar nggunakake a callback ing Node.js kanggo nangani operasi bedo lan mesthekake yen data wis diproses yen kasedhiya. Ing skenario nyata, callback s umume digunakake kanggo nangani pitakon database, panjalukan API, lan tugas bedo liyane.
Nggunakake Promise s lan kanggo nangani asynchronicity async/await
"Nggunakake Promise lan nangani operasi asinkron" minangka pendekatan umum ing Node.js kanggo nangani tugas sing ora sinkron kanthi gampang lan efisien. minangka obyek sing mbantu kita ngatur lan nangani operasi bedo, dene sintaksis sing ngidini kita nulis kode asinkron kanthi cara sing padha karo kode sinkron. async/await Promise JavaScript async/await
Kanthi nggunakake Promise lan, kita bisa nulis kode asinkron luwih gampang lan intuisi. Kita ora perlu maneh nggunakake fungsi lan ngatasi neraka( fungsi bersarang) kanggo nangani operasi asinkron. Nanging, kita bisa nggunakake tembung kunci ngenteni kanggo ngenteni kanggo ngrampungake lan ngasilake asil. async/await callback callback callback Promise
Iki minangka conto nggunakake Promise lan ing Node.js kanggo nangani operasi asinkron: async/await
// A mock function to fetch data from an API
function fetchData() {
return new Promise((resolve, reject) => {
setTimeout(() => {
const data = { name: 'John', age: 30 };
resolve(data); // Return data within the Promise
}, 2000);
});
}
// Using async/await to handle asynchronous operations
async function getData() {
try {
const data = await fetchData(); // Wait for the Promise to complete and return the data
console.log('Data:', data);
} catch(error) {
console.error('Error:', error);
}
}
// Call the getData function
getData();
Ing conto iki, kita nggunakake fetchData
fungsi kanggo simulasi njupuk data saka API(utawa operasi asynchronous). Fungsi iki ngasilake a Promise, ngendi kita nelpon resolve
fungsi kanggo bali data.
Ing njaba fungsi kasebut fetchData
, kita nggunakake try/catch
blok kanggo ngatasi kesalahan. Ing getData
fungsi kasebut, kita nggunakake await
tembung kunci kanggo ngenteni Promise rampung lan ngasilake data. Yen ana kesalahan ing Promise, bakal uncalan pangecualian lan kita nangani ing pemblokiran catch
.
Pungkasan, kita nelpon getData
fungsi kanggo miwiti pangolahan asinkron. Asil bakal mlebu menyang console sawise Promise jangkep lan ngasilake data.
Nggunakake Promise lan nggawe kode kita luwih bisa diwaca lan luwih gampang dimangerteni nalika nangani operasi asinkron. Iku mbantu kita nyingkiri neraka lan ngidini kita nulis kode kanthi urutan, padha karo nulis kode sinkron. async/await callback
Kesimpulan: Penanganan acara lan pangolahan asinkron minangka rong aspek penting ing pangembangan aplikasi Node.js. Kanthi mangerteni lan nggunakake konsep lan alat sing gegandhengan kanthi bener, sampeyan bisa mbangun aplikasi sing efisien, fleksibel, lan dipercaya ing platform Node.js.