JavaScript'te Geri Çağrıya Asenkron Sonuç Aktarımı
Şimdi, asenkron işlemin tamamlandıktan sonra konsola hiçbir şey yazdırmadığını, bunun yerine bir sonuç elde ettiğini varsayalım. Bunun, örneğin AJAX ile alınmış olabilecek bir veri dizisi olduğunu düşünelim. Ancak henüz AJAX ile çalışmayı bilmediğimiz için, bunu basitçe simüle edeceğiz:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // sonuç dizisi
}, 3000);
}
Sonuç dizisinin, geri çağrı fonksiyonunun bir parametresi olarak iletilmesini sağlayalım:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // sonucu parametre olarak ilet
}, 3000);
}
Şimdi, make fonksiyon çağrısına geri çağrıyı iletirken,
içine bir parametre yazabiliriz - ve bu parametreye asenkron
işlemin sonucu gelecektir:
make(function(res) {
console.log(res); // dizimiz
});
Geri çağrının kodunu, sonuç dizisinin elemanlarının toplamını bulacak şekilde tamamlayın.