⊗jsSpACPR 156 of 294 menu

Transmiterea asincronă a rezultatului în callback în JavaScript

Să presupunem acum că operația asincronă, după finalizare, nu afișează nimic în consolă, ci obține un anumit rezultat. Să fie acesta un tablou cu date care, de exemplu, ar fi putut fi obținut prin AJAX. Dar, deoarece încă nu știm să lucrăm cu AJAX, vom simula acest lucru:

function make() { setTimeout(function() { let res = [1, 2, 3, 4, 5]; // tablou cu rezultatul }, 3000); }

Să facem astfel încât tabloul cu rezultatul să fie transmis într-un parametru al callback-ului:

function make(callback) { setTimeout(function() { let res = [1, 2, 3, 4, 5]; callback(res); // transmitem rezultatul ca parametru }, 3000); }

Acum, la transmiterea callback-ului în apelul funcției make putem scrie în el un parametru - și în acest parametru va intra rezultatul operației asincrone:

make(function(res) { console.log(res); // tabloul nostru });

Completați codul callback-ului astfel încât să găsească suma elementelor tabloului cu rezultatul.

idenswfrbn