前面幾天都提到了非同步的用法,那就不能缺席 Callback!
定義
callback function是指能藉由參數(argument)通往另一個函式的函式。
它會在外部函式內調用、以完成某些事情。
範例
function getData(callback) {
setTimeout(function() {
const data = { id: 1, name: "Irene" };
callback(data);
}, 3000);
HelloWorld();
}
function showData(data) {
console.log("data: ", data);
}
function HelloWorld() {
console.log("Hello World!");
}
getData(showData);
getData開始執行,並且設定setTimeout。
而在計時時,會繼續執行其他[HelloWorld](而不是等待3秒)
,直到3秒到了,才呼叫showData。
所以畫面上會立即看到Hello World!
再顯示data: id: 1, name: "Irene"
另外,平常最常見的就是在按鈕上增加監聽事件,
也就是 [第二天] Click事件 提到的 JavaScript的addEventListener方法!
這就是Callback應用啦!
wow 竟然串起來了 XD