⊗jsSpACPR 156 of 294 menu

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); // бизнинг массивимиз });

Коллбэк кодини шундай тузингки, у натижа массиви элементлари йиғиндисини топсин.

enrohifruzl