异步的 JavaScript

"I will finish later!"

Funshonin da a raba gaba kuma ke gaba tare da funshonin mici ne gaba (asynchronous).

Shiyyar jitu ne JavaScript setTimeout()

Gaba JavaScript

Shiyyar da aka kaiya bayan gaba a ita baya ta kaiyance.

Wanda ya'a kaiwace funshonin na gaba dona bayan gaba.

实例

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

亲自试一试

在上面的例子中,myDisplayer Shiyyar funshonin ne.

Wanda ya'a kaiwa abin da a raba gaba. myCalculator();

Duba da a raba gaba a gaba cikin kai tsaya.

Shiyyar jitu ne JavaScript setTimeout();

Kaiwa gudan a suna raba.

在使用 JavaScript 函数 setTimeout(); Kai, a kaiya zabi funshonin na gaba bayan gudan:

实例

setTimeout(myFunction, 3000);
function myFunction() {
  document.getElementById("demo").innerHTML = "I love You !!";
}

亲自试一试

在上面的示例中,myFunction Wanda ya'a kawo gaba.

函数(函数名)作为参数传递给 setTimeout();

3000 是超时前的毫秒数,所以 3 秒后会调用 myFunction()

Kai a ba'a raba funshonin gaba gida, kaiwa a kaiya gudan.

Kai: setTimeout(myFunction, 3000);

Dima: setTimeout(myFunction(), 3000);

Iyi yin da ba nimi na gudan funshonin ya'a (myFunction) sada ba'a, a ka iya raba funshonin na gudan kifaye:

实例

Kai suna gudan (setTimeout(function() { myFunction("I love You !!!"); }, 3000));
function myFunction(value) {
  document.getElementById("demo").innerHTML = value;
}

亲自试一试

在上面的例子中,function(){ myFunction("I love You !!!"); } 用作回调。它是一个完整的函数。完整的函数作为参数被传递给 setTimeout()。

3000 是超时前的毫秒数,所以 3 秒后会调用 myFunction()

等待间隔:

在使用 JavaScript 函数 setInterval() 时,可以指定每个间隔执行的回调函数:

实例

setInterval(myFunction, 1000);
function myFunction() {
  let d = new Date();
  document.getElementById("demo").innerHTML=
  d.getHours() + ":" +
  d.getMinutes() + ":" +
  d.getSeconds();
}

亲自试一试

在上面的例子中,myFunction 用作回调。

函数(函数名)作为参数传递给 setInterval()

1000 是间隔之间的毫秒数,因此 myFunction() 将每秒调用一次。

等待文件

如果您创建函数来加载外部资源(如脚本或文件),则在内容完全加载之前无法使用这些内容。

这是使用回调的最佳时机。

此例加载一个 HTML 文件 (mycar.htmlDake a kaiwa dake a HTML fiilen (

Kaiwa dake:

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}
function getFile(myCallback) {
  let req = new XMLHttpRequest();
  req.open('GET', "mycar.html");
  req.onload = function() {
    if (req.status == 200) {
      myCallback(this.responseText);
    }
      myCallback("Error: " + req.status);
    }
  }
  req.send();
}
getFile(myDisplayer);

亲自试一试

在上面的示例中,myDisplayer 用作回调。

函数(函数名)作为参数传递给 getFile()

以下是 mycar.html 的副本:

mycar.html

<img src="img_car.jpg" alt="Nice car" style="width:100%">
<p>A car is a wheeled, self-powered motor vehicle used for transportation.</p>
<p>Most definitions of the term specify that cars are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels.</p>
<p>(Wikipedia)</p>