Callback ng JavaScript

"I will call back later!"

Ang callback (callback) ay isang funksyon na pinapasa bilang argumento sa ibang funksyon

Ang teknolohiya na ito ay nagbibigay ng kapangyarihan sa funksyon na tumawag sa ibang funksyon

Ang callback na funksyon ay maaaring patawag sa ibang funksyon kapag natapos ang ibang funksyon

Angayon ang pagkakasunod-sunod ng funksyon

Ang mga funksyon ng JavaScript ay nilalakad ayon sa pagkakataon na sila ay tinatawag, hindi ayon sa pagkakataon na sila ay pinatatakbo.

Ang halimbawa na ito ay magpapakita ng "Goodbye" sa wakas:

mga halimbawa

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
myFirst();
mySecond();

亲自试一试

Ang halimbawa na ito ay magpapakita ng "Hello" sa wakas:

mga halimbawa

function myFirst() {
  myDisplayer("Hello");
}
function mySecond() {
  myDisplayer("Goodbye");
}
mySecond();
myFirst();

亲自试一试

Pagkontrol ng Pagkakasunod-sunod

Minsan ay gusto mong magkaroon ng mas mabuting kontrol kung kailan ay gagawin ang funksyon。

Assuming na iyong gagawin ang pagkalkula at ipakita ang resulta.

Maaari mong tumawag sa funksyon ng kalkulador (myCalculator),ipag-imbak ang resulta, at pagkatapos ay ipapatawag ang ibang funksyon (myDisplayer) upang ipakita ang resulta:

mga halimbawa

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);

亲自试一试

O, maaari mong tumawag sa funksyon ng kalkulador (myCalculator),at ipapatawag ng funksyon ng kalkulador ang funksyon ng ipakita (myDisplayer):

mga halimbawa

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2) {
  let sum = num1 + num2;
  myDisplayer(sum);
}
myCalculator(5, 5);

亲自试一试

Ang problema sa unang halimbawa ay kailangan mong tumawag sa dalawang funksyon upang ipakita ang resulta。

Ang problema sa ikalawang halimbawa ay hindi mo pwedeng pigilan ang funksyon ng kalkulador na ipakita ang resulta。

Ito ang tamang panahon para ipakilala ang callback。

Callback ng JavaScript

Ang callback ay isang funksyon na pinapasa bilang argumento sa ibang funksyon。

Gamit ang callback, maaari mong tumawag sa funksyon ng kalkulador sa pamamagitan ng callback(myCalculator),sa pagkatapos ng pagtutuos ay pumapatakbo ang callback ng funksyon ng kalkulador:

mga halimbawa

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}
myCalculator(5, 5, myDisplayer);

亲自试一试

在上面的例子中, myDisplayer 是函数的名称。

它作为参数传递给 myCalculator()

当您将函数作为参数传递时,请记住不要使用括号。

正确:myCalculator(5, 5, myDisplayer);

错误:myCalculator(5, 5, myDisplayer());

何时使用回调?

上面的例子并不是很令人兴奋。

它们经过简化了,为的是向您讲解回调的语法。

回调真正闪光之处是异步函数,其中一个函数必须等待另一个函数(例如等待文件加载)。

下一章将介绍异步函数。