Eşzamansız JavaScript ve Olay Döngüsü
Eşzamansız programlama örüntülerini, geri çağırmaları, Promise'leri, async/await'i ve Node.js olay döngüsünü anlayın.
Eşzamansız JavaScript ve Olay Döngüsü, CoddyKit'te ücretsiz bir Node.js Backend Development Bootcamp dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Node.js Backend Development Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Node.js Backend Development Bootcamp kursu toplamda 4 dersten oluşur.
What is Asynchronous Code?
Asenkron kod, Node'un ana iş parçacığını bloke etmek yerine —dosya okuma veya ağ çağrısı gibi— yavaş bir başlatmasını ve diğer kodu çalıştırmaya devam etmesini sağlar.
Sync vs. Async Explained
Bir aşçı düşünün: senkron, su kaynana kadar boşta beklemek demektir; asenkron ise bu sırada sebze doğramak demektir. Node, asenkron aşçı gibi pişirir.
The Callback Pattern
Geri çağrılar (Callbacks), daha sonra çalıştırılmak üzere ilettiğiniz, eşzamansız (async) işleri yönetmenin klasik yoludur. Görev bittiğinde, geri çağrınız sonuç veya hata ile tetiklenir.
Simple Callback in Action
setTimeout ders kitabı niteliğinde bir asenkron işlemdir: belirli bir gecikme süresi bekler, ardından kendisine verdiğiniz geri çağrı işlevini (callback) tetikler.
function greet(name, callback) {
setTimeout(() => {
const message = `Hello, ${name}!`;
callback(message);
}, 1000); // Wait 1 second
}
function displayMessage(msg) {
console.log(msg);
}
greet("Coddy", displayMessage);
console.log("Waiting for greeting...");The Challenge of Callback Hell
Birbirine bağımlı çok sayıda geri çağrının (callback) iç içe geçmesi, hata yönetimi ve bakımın kâbusa dönüştüğü, derinlemesine girintili, okunması zor bir kod olan Geri Çağırma Cehennemini (Callback Hell) yaratır.
Introducing Promises
Bir Promise, şimdi, daha sonra veya asla gelmeyecek bir değeri temsil eder. Üç durumdan birinde bulunur: beklemede (pending), yerine getirilmiş (fulfilled) veya reddedilmiş (rejected).
Using Promises
Başarı için .then() ve hatalar için .catch() ile bir Promise'i yönetin; iç içe geri çağrılardan (nested callbacks) daha temiz bir zincirlemedir.
function fetchData(shouldSucceed) {
return new Promise((resolve, reject) => {
setTimeout(() => {
if (shouldSucceed) {
resolve("Data fetched successfully!");
} else {
reject("Failed to fetch data.");
}
}, 1000);
});
}
fetchData(true)
.then(data => console.log(data))
.catch(error => console.error(error));
fetchData(false)
.then(data => console.log(data))
.catch(error => console.error(error));Async/Await for Clarity
async/await, eşzamansız (async) kodun eşzamanlı (sync) kod gibi okunmasını sağlayan, Promise'ler üzerindeki bir sözdizimidir. await, bir Promise sonuçlanana kadar bir async fonksiyonun içinde duraklama yapar.
Async/Await in Practice
Async/await'in önceki örneği nasıl düzleştirdiğini ve düz bir try...catch ifadesinin hataları nasıl doğrudan satır içinde ele aldığını görün.
function delayedMessage(msg, delay) {
return new Promise(resolve => {
setTimeout(() => resolve(msg), delay);
});
}
async function processMessages() {
try {
console.log("Starting process...");
const msg1 = await delayedMessage("First message!", 1000);
console.log(msg1);
const msg2 = await delayedMessage("Second message!", 500);
console.log(msg2);
console.log("Process finished.");
} catch (error) {
console.error("An error occurred:", error);
}
}
processMessages();The Node.js Event Loop
Olay Döngüsü, Node'un motorudur: çağrı yığını boşaldığında, kuyruktaki geri çağrıları çeker ve bunları çalıştırır; böylece tek bir iş parçacığında engellemeyen G/Ç'yi destekler.
Async Concepts Check
Aşağıdakilerden hangisi Node.js'te eşzamansız (asynchronous) programlama kullanmanın temel faydasını en iyi şekilde açıklar?
Async & Event Loop Recap
Asenkron çalışma Node'un gücünü besler: Geri çağrılar (callbacks) bunu başlattı, Sözler (Promises) bir yapıya kavuşturdu, async/await temizledi ve Olay Döngüsü (Event Loop) hepsini yönlendiriyor.
Sıkça Sorulan Sorular
“Eşzamansız JavaScript ve Olay Döngüsü” dersi ücretsiz mi?
Evet — “Eşzamansız JavaScript ve Olay Döngüsü” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Node.js Backend Development Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Node.js Backend Development Bootcamp kursu toplamda 4 dersten oluşur.
“Eşzamansız JavaScript ve Olay Döngüsü” dersinde ne öğreneceğim?
Eşzamansız programlama örüntülerini, geri çağırmaları, Promise'leri, async/await'i ve Node.js olay döngüsünü anlayın. Node.js Backend Development Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Node.js Backend Development Bootcamp öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Node.js Backend Development Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Eşzamansız JavaScript ve Olay Döngüsü” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Node.js Backend Development Bootcamp dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Node.js Backend Development Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Node.js ve NPM'ye Giriş
- Node.js Modül Sistemi Açıklaması
- Eşzamansız JavaScript ve Olay Döngüsü
- Dosya Sistemi ve Akışlarla Çalışma