JavaScript-da asinkron netijäni kollbekä ýetirmek
Indi bolsa, asinkron operasiýa gutaranymynda konsola hiç zat çap etmesin, ýöne käbir netijä eýe bolsun. Bu netije maglumatlar bilen doldurylan massiw bolup, meselem, AJAX arkaly alynyp bilinerdi. Ýöne biz hãli AJAX bilen işlemek öwrenmedigimiz üçin, ony ýöne symulirleýäris:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // netijeli massiw
}, 3000);
}
Netijeli massiw kollbekiň parametri hökmünde ýetirilmegini üpjün edeliň:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // netijäni parametr hökmünde ýetirýäris
}, 3000);
}
Indi, make funksiýasyny çagyrýanda kollbek
ýetirilende, biz onda parametr görkezip bileris
- we şol parametre asinkron operasiýanyň netijesi
düşer:
make(function(res) {
console.log(res); // biziň massiwimiz
});
Kollbekiň koduny şeýle derejeläň, ol netijeli massiwiň elementleriniň jemyny tapmaly.