Wywołania zwrotne w JavaScript
- Poprzednia strona JS Statyczny
- Następna strona JS asynchroniczny
"I will call back later!"
Wywoływanie zwrotne (callback) jest funkcją przekazywaną jako parametr do innej funkcji
Ta technika pozwala funkcji wywołać inną funkcję
Funkcje wywołania zwrotnego mogą być uruchamiane po zakończeniu innej funkcji
Sekwencja funkcji
Funkcje JavaScript są wykonywane w kolejności, w której są wywoływane, a nie w kolejności, w której są zdefiniowane.
Ten przykład ostatecznie wyświetli "Goodbye":
przykład
function myFirst() { myDisplayer("Hello"); } function mySecond() { myDisplayer("Goodbye"); } myFirst(); mySecond();
Ten przykład ostatecznie wyświetli "Hello":
przykład
function myFirst() { myDisplayer("Hello"); } function mySecond() { myDisplayer("Goodbye"); } mySecond(); myFirst();
Kontrola顺序
Czasami chcesz lepiej kontrolować, kiedy wykonywać funkcję.
Załóżmy, że chcesz wykonać obliczenie i wyświetlić wynik.
Możesz wywołać funkcję kalkulatora (myCalculator
) zapisz wynik, a następnie wywołaj inną funkcję (myDisplayer
) aby wyświetlić wynik:
przykład
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2) { let sum = num1 + num2; return sum; } let result = myCalculator(5, 5); myDisplayer(result);
Albo możesz wywołać funkcję kalkulatora (myCalculator
) i pozwól, aby funkcja kalkulatora wywołała funkcję wyświetlania (myDisplayer
):
przykład
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2) { let sum = num1 + num2; myDisplayer(sum); } myCalculator(5, 5);
Problem pierwszego przykładu polega na tym, że musisz wywołać dwie funkcje, aby wyświetlić wynik.
Problem drugiego przykładu polega na tym, że nie możesz zapobiec temu, aby funkcja kalkulatora wyświetliła wynik.
Czas na wprowadzenie wywoływania zwrotnego.
Wywołania zwrotne w JavaScript
Wywoływanie zwrotne jest funkcją przekazywaną jako parametr do innej funkcji.
Używając wywoływania zwrotnego, możesz wywołać funkcję kalkulatora za pomocą wywoływania zwrotnego (myCalculator
i po zakończeniu obliczeń uruchom funkcję wywoływania zwrotnego:
przykład
function myDisplayer(some) { document.getElementById("demo").innerHTML = some; } function myCalculator(num1, num2, myCallback) { let sum = num1 + num2; myCallback(sum); } myCalculator(5, 5, myDisplayer);
W powyższym przykładzie: myDisplayer
jest nazwą funkcji.
jest przekazywana jako parametr myCalculator()
.
Pamiętaj, że gdy przekazujesz funkcję jako parametr, nie używaj nawiasów.
Poprawnie: myCalculator(5, 5, myDisplayer);
Błąd: myCalculator(5, 5, myDisplayer());
Kiedy używać callbacków?
Powyższy przykład nie jest zbyt ekscytujący.
Zostały one uproszczone, aby wyjaśnić składnię callbacków.
Największą siłą callbacków są asynchroniczne funkcje, w których jedna funkcja musi czekać na drugą funkcję (np. czekanie na załadowanie pliku).
Następny rozdział przedstawi asynchroniczne funkcje.
- Poprzednia strona JS Statyczny
- Następna strona JS asynchroniczny