Функции за обратно извикване в JavaScript

В JavaScript програмистите могат да дефинират кодови единици, включително променливи и функции. Функциите на JavaScript също могат да получават параметри, като кодът извиква функция, която предава тези параметри или като променливи, или като стойности. Също така е възможно да се предаде препратка към друга функция като параметър. Функцията за обратно извикване обикновено е тази, която се извиква, когато друга функция приключи изпълнението. Поради тази причина функциите за обратно извикване често се появяват като параметри на други функции.

Определение за обратно извикване

За да приложите функция за обратно извикване, JavaScript кодът на страница трябва първо да дефинира функцията. Следният примерен код дефинира функция и съхранява препратка към нея: var callbackDefinition = function (numParam) {alert (numParam); };

Функцията използва цифров параметър за демонстрация. Функцията за обратно извикване може да съдържа всеки код на JavaScript, който може да включва стандартна функция. Кодът вече ще може да предава препратка към функцията като параметър към друга функция, като използва името на променливата.

Параметър за обратно извикване

След като скриптът има функция, дефинирана като променлива, той може да предаде тази променлива като параметър на друга функция. Следният примерен код демонстрира техниката: mainFunction (10, callbackDefinition);

Този код извиква имената функция, предавайки параметър номер и името на променливата, съхраняваща кода на функцията за обратно извикване. Контурът на функцията, която се извиква тук, трябва да съответства на тези два параметъра. Функцията, която получава променливата за обратно извикване, ще може да извика функцията, която съхранява.

Изпълнение на функцията

След като бъде предадена на основната функция, може да се изпълни функция за обратно извикване. Следният примерен код демонстрира: функция mainFunction (myNum, callbackFn) {alert (myNum); callbackFn (myNum * 2); }

За демонстрация този код първо извежда предупреждение за JavaScript, което ще доведе до появата на диалогов прозорец в браузъра на потребителя. След като този код се изпълни, функцията извиква функцията за обратно извикване, използвайки името, посочено като параметър. Извикването на функцията за обратно извикване включва числов параметър, който се очаква от функцията, която първоначално е била дефинирана като променлива.

Повикване на функция

След като една страница има дефинирана функция, включително обратно извикване, тя може да изпълни този код. Често разработчиците инструктират браузъра да изслушва потребителско събитие, изпълнявайки функции, когато това се случи. Например, следният HTML код извиква функция: Ето раздел с възможност за щракване

Ако функцията, посочена като параметър, съдържа дефиницията на променливата за обратно извикване и извикването на основната функция, това ще създаде ефект на обратно извикване, както следва: функция doCallback () {var callFn = функция (numParam) {предупреждение (numParam); }; mainFunction (10, callFn); }

След като основната функция изпълни собствено съдържание на код, тя извиква функцията за обратно извикване.