Callback function意思

在計算機編程中,特別是函式式編程和事件驅動編程中,回調函式(Callback Function)是一個在被調用函式(caller)中提供的、作為參數傳遞給另一個函式的函式。這個被傳遞的函式稍後在調用者的控制流中執行,作為調用者動作的回響。

回調函式通常用於以下幾種情況:

  1. 異步編程:當一個操作是異步的,比如網路請求或檔案讀取,回調函式會在操作完成時被調用。

  2. 事件處理:當一個事件發生時,回調函式會被事件監聽器調用。

  3. 模組化編程:當一個模組提供了一個接口,允許用戶提供自己的函式來處理特定任務。

回調函式的典型例子是在JavaScript中處理事件或進行異步編程。例如,當用戶點擊一個按鈕時,會觸發一個事件,這個事件的處理程式就是一個回調函式。在Node.js中,許多API都是異步的,它們會接受一個回調函式作為參數,並在操作完成時調用這個回調函式。

下面是一個簡單的JavaScript例子,展示了如何使用回調函式來處理異步操作:

function doSomething(data, callback) {
  // 模擬異步操作
  setTimeout(function() {
    // 操作完成
    callback(data + 1);
  }, 1000);
}

doSomething(1, function(result) {
  console.log(result); // 輸出: 2
});

在這個例子中,doSomething 函式接受一個數據和一個回調函式作為參數。它會在一個模擬的異步操作(setTimeout)完成後調用回調函式,並將操作的結果作為參數傳遞給回調函式。回調函式隨後列印出這個結果。