JavaScript-da asinxron natijani callback-ga uzatish
Endi asinxron operatsiya o‘zini tugatgandan so‘ng hech narsani konsolga chiqarmasin, balki ma’lum bir natijaga ega bo‘lsin. Bu, masalan, AJAX orqali olinishi mumkin bo‘lgan ma’lumotlar to‘plami bo‘lsin. Lekin biz hozircha AJAX bilan ishlay olmaganimiz sababli, shunchaki buni simulyatsiya qilamiz:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // natija to'plami
}, 3000);
}
Keling, natija to‘plami callback parametriga uzatilsin:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // natijani parametr sifatida uzatamiz
}, 3000);
}
Endi, make funksiyasini chaqirishda callback
uzatayotganda, biz unda parametr yozishimiz mumkin
- va shu parametrga asinxron operatsiya
natijasi tushadi:
make(function(res) {
console.log(res); // bizning to'plam
});
Callback kodini shunday to‘ldiringki, u natija to‘plami elementlari yig‘indisini topsin.