Transmetimi Asinkron i Rezultatit në Callback në JavaScript
Le të supozojmë tani që operacioni asinkron, pas përfundimit të tij, nuk shfaq asgjë në konsolë, por merr një rezultat. Le të jetë ky një grup me të dhëna, i cili, për shembull, mund të ishte marrë përmes AJAX. Por meqë ende nuk dimë të punojmë me AJAX, thjesht do ta simulojmë këtë marrje:
function make() {
setTimeout(function() {
let res = [1, 2, 3, 4, 5]; // grup me rezultatin
}, 3000);
}
Le ta bëjmë që grupi me rezultatin të kalohet në një parametër të callback:
function make(callback) {
setTimeout(function() {
let res = [1, 2, 3, 4, 5];
callback(res); // kalojmë rezultatin si parametër
}, 3000);
}
Tani, kur kalohet callback në thirrjen e funksionit
make, ne mund të shkruajmë në të një parametër
- dhe në këtë parametër do të vendoset rezultati i operacionit
asinkron:
make(function(res) {
console.log(res); // grupi ynë
});
Plotësoni kodin e callback në mënyrë që ai të gjejë shumën e elementeve të grupit me rezultatin.