Funkce zpětného volání v JavaScriptu

V JavaScriptu mohou programátoři definovat jednotky kódu včetně proměnných a funkcí. Funkce JavaScriptu mohou také přijímat parametry, přičemž kód volá funkci a předává tyto parametry buď jako proměnné, nebo hodnoty. Je také možné předat odkaz na jinou funkci jako parametr. Funkce zpětného volání je obvykle ta, která se volá, když jiná funkce dokončí provádění. Z tohoto důvodu se funkce zpětného volání často zobrazují jako parametry jiných funkcí.

Definice zpětného volání

Chcete-li implementovat funkci zpětného volání, musí kód JavaScript na stránce nejprve definovat funkci. Následující ukázkový kód definuje funkci a uloží na ni odkaz na proměnnou: var callbackDefinition = function (numParam) {alert (numParam); };

Funkce pro demonstraci používá číselný parametr. Funkce zpětného volání může obsahovat jakýkoli kód JavaScriptu, který může obsahovat standardní funkce. Kód nyní bude moci předat odkaz na funkci jako parametr jiné funkci pomocí názvu proměnné.

Parametr zpětného volání

Jakmile má skript funkci definovanou jako proměnnou, může tuto proměnnou předat jako parametr jiné funkci. Následující ukázkový kód ukazuje techniku: mainFunction (10, callbackDefinition);

Tento kód volá pojmenovanou funkci, předá číselný parametr a název proměnné ukládající kód funkce zpětného volání. Obrys funkce, která se zde volá, se musí shodovat s těmito dvěma parametry. Funkce přijímající proměnnou zpětného volání bude moci volat funkci, kterou ukládá.

Provedení funkce

Po předání hlavní funkci lze provést funkci zpětného volání. Následující ukázkový kód ukazuje: function mainFunction (myNum, callbackFn) {alert (myNum); callbackFn (myNum * 2); }

Pro demonstraci tento kód nejprve odešle upozornění JavaScriptu, které způsobí, že se v prohlížeči uživatele zobrazí dialogové okno. Jakmile se tento kód spustí, funkce zavolá funkci zpětného volání pomocí názvu uvedeného jako parametr. Volání funkce zpětného volání obsahuje číselný parametr, který je očekáván funkcí, která byla původně definována jako proměnná.

Volání funkce

Jakmile má stránka definovanou funkci, včetně zpětného volání, může tento kód spustit. Vývojáři často instruují prohlížeč, aby naslouchal události uživatele a v tomto případě spustil funkce. Například následující kód HTML volá funkci: Zde je část s možností kliknutí

Pokud funkce zadaná jako parametr obsahuje definici proměnné zpětného volání a volání hlavní funkce, vytvoří se efekt zpětného volání následovně: function doCallback () {var callFn = function (numParam) {alert (numParam); }; mainFunction (10, callFn); }

Jakmile hlavní funkce provede svůj vlastní obsah kódu, zavolá funkci zpětného volání.