JavaScript-те асинхронды операция нәтижесін коллбэкке беру
Енді асинхронды операция аяқталғаннан кейін консольге ештеңе шығармай, белгілі бір нәтиже алады делік. Бұл мәліметтер массиві болсын, мысалы, ол AJAX арқылы алынуы мүмкін. Бірақ біз әлі AJAX-пен жұмыс істеуді білмейтіндіктен, мұны жалған түрде жасаймыз:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // нәтиже массиві
}, 3000);
}
Нәтиже массиві коллбэк параметріне берілуі үшін жасайық:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // нәтижені параметр ретінде береміз
}, 3000);
}
Енді, make функциясын шақыру кезінде коллбэкті
бергенде, біз оған параметр жаза аламыз
- және бұл параметрге асинхронды операцияның
нәтижесі түседі:
make(function(res) {
console.log(res); // біздің массивіміз
});
Нәтиже массивінің элементтерінің қосындысын табатындай етіп коллбэк кодін толтырыңыз.