Node.js uygulamalarını geliştirme sürecinde, olay işleme ve eşzamansız işlemeyi anlamak ve bunlarla çalışmak çok önemlidir. Node.js, olay güdümlü ve eşzamansız bir model üzerine kuruludur ve görevlerin tamamlanmasını beklemeden yürütülmesine olanak tanır. Aslında, olay işleme ve eşzamansız işlemeyi anlamak ve doğru bir şekilde uygulamak, uygulama performansını optimize etmenin önemli bir parçasıdır.
callback Node.js'deki olaylar ve s
Node.js'de olaylar ve callback s, eşzamansız işlemlerin işlenmesinde çok önemli bir rol oynar. Olaylar, bir uygulama içinde meydana gelen belirli eylemleri veya oluşumları ele almanın ve bunlara yanıt vermenin bir yoludur. Callback s ise belirli bir olay veya işlem tamamlandığında yürütülen işlevlerdir.
Node.js, uygulamanın farklı bölümlerinin olayları yayabileceği ve dinleyebileceği olay odaklı bir mimari sağlar. Bu, aynı anda birden fazla işlemin verimli ve engelleyici olmayan bir şekilde işlenmesine izin verir.
Callback s, zaman uyumsuz işlemleri işlemek için Node.js'de yaygın olarak kullanılır. İşlevlere argüman olarak iletilirler ve işlem tamamlandıktan sonra yürütülürler. Callback s, zaman uyumsuz görevler sırasında ortaya çıkan sonuçları veya hataları işlemek için bir yol sağlar.
İşte callback Node.js'de a kullanımına bir örnek:
// 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);
}
});
fetchData
Bu örnekte, eşzamansız bir işlemden veri getirmeyi simüle eden(örneğin, bir API çağrısı yapmak veya bir veritabanını sorgulamak) adlı bir işleve sahibiz. callback Argüman olarak bir işlev alır .
İşlevin içinde, eşzamansız işlemi simüle etmek için fetchData
kullanıyoruz. 2 saniyelik gecikmeden sonra, bazı örnek veriler oluşturuyoruz ve bunu bir hatayla birlikte(bu durumda olarak ayarlanmış) işleve setTimeout
iletiyoruz. callback null
Fonksiyonun dışında fetchData
, onu çağırırız ve bir callback fonksiyon sağlarız. içinde callback olası hataları ele alır ve alınan verileri işleriz. Bir hata varsa, onu konsola kaydederiz. Aksi takdirde, verileri günlüğe kaydederiz.
callback Bu, eşzamansız işlemleri işlemek ve verilerin kullanılabilir olduğunda işlenmesini sağlamak için Node.js'de a kullanımının temel bir örneğidir. Gerçek dünya senaryolarında, callback s genellikle veritabanı sorgularını, API isteklerini ve diğer eşzamansız görevleri işlemek için kullanılır.
Eşzamansızlığı işlemek için Promise s ve kullanma async/await
"Eşzamansız işlemleri kullanma Promise ve işleme", eşzamansız görevleri kolay ve verimli bir şekilde işlemek için Node.js'de yaygın olarak kullanılan bir yaklaşımdır. asenkron işlemleri yönetmemize ve işlememize yardımcı olan bir nesne iken, senkron koda benzer şekilde asenkron kod yazmamızı sağlayan bir söz dizimidir. async/await Promise JavaScript async/await
Promise ve kullanarak asenkron kodu daha kolay ve sezgisel olarak yazabiliriz. Eşzamansız işlemleri halletmek için artık işlevleri kullanmamıza ve cehennem(iç içe işlevler) ile uğraşmamıza gerek yok. Bunun yerine, a'nın tamamlanmasını ve sonucunu döndürmesini beklemek için wait anahtar sözcüğünü kullanabiliriz. async/await callback callback callback Promise
Eşzamansız işlemleri işlemek için Node.js'de Promise ve kullanımına bir örnek: 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();
Bu örnekte, fetchData
bir API'den(veya herhangi bir eşzamansız işlemden) veri getirmeyi simüle etmek için işlevi kullanıyoruz. Bu işlev, verileri döndürmek için işlevi Promise çağırdığımız bir a döndürür. resolve
Fonksiyonun dışında, hataları işlemek için fetchData
bir blok kullanırız. try/catch
Fonksiyonda, anahtar kelimeyi veriyi tamamlamak ve döndürmek için beklemek için getData
kullanırız. Eğer içinde bir hata varsa, bir istisna atar ve onu blokta hallederiz. await
Promise Promise catch
getData
Son olarak, eşzamansız işlemeyi başlatmak için işlevi çağırıyoruz. Promise Sonuç, tamamlandıktan ve verileri döndürdükten sonra konsola kaydedilecektir .
Promise ve kullanmak, zaman uyumsuz işlemlerle uğraşırken kodumuzu daha okunabilir ve anlaşılmasını kolaylaştırır. Cehennemden kaçınmamıza yardımcı olur ve senkronize kod yazmaya benzer şekilde sıralı bir şekilde kod yazmamıza izin verir. async/await callback
Sonuç: Olay işleme ve eşzamansız işleme, Node.js uygulamalarının geliştirilmesinde iki önemli unsurdur. İlgili kavramları ve araçları anlayarak ve doğru şekilde kullanarak Node.js platformunda verimli, esnek ve güvenilir uygulamalar oluşturabilirsiniz.