JavaScript-də Asinxron Nəticənin Callback-ə Ötürülməsi
İndi isə asinxron əməliyyatın özünü tamamladıqdan sonra konsola heç nə çıxartmadığını, əksinə müəyyən bir nəticə əldə etdiyini fərz edək. Bunun məsələn, AJAX vasitəsilə əldə edilə biləcək məlumatlar olan bir massiv olduğunu düşünək. Lakin, hələlik AJAX ilə işləməyi bacarmadığımız üçün, bunu sadəcə olaraq modelləşdirəcəyik:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // nəticə massivi
}, 3000);
}
Gəlin massivin nəticəsinin callback funksiyasının parametrinə ötürülməsini təmin edək:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // nəticəni parametr kimi ötürürük
}, 3000);
}
İndi isə, funksiyanı çağırarkən callback ötürdükdə
make biz onun içərisində parametr yaza bilərik
- və bu parametrə asinxron əməliyyatın nəticəsi
düşəcək:
make(function(res) {
console.log(res); // bizim massivimiz
});
Callback-in kodunu elə tamamlayın ki, o, nəticə massivinin elementlərinin cəmini tapsın.