JavaScriptでのコールバック関数の使い方と例


  1. コールバック関数の基本的な使い方 コールバック関数は通常、関数の引数として渡されます。以下の例では、関数 doSomething が引数として受け取ったコールバック関数を実行します。
function doSomething(callback) {
  // 何らかの処理
  // コールバック関数の実行
  callback();
}
function callbackFunction() {
  console.log("コールバック関数が実行されました");
}
// doSomething関数を呼び出し、callbackFunctionをコールバック関数として渡す
doSomething(callbackFunction);
  1. 非同期処理でのコールバック関数の利用 非同期処理では、コールバック関数を使用して処理が完了した後に特定のアクションを実行します。以下の例では、非同期でデータを取得し、取得が完了した後にコールバック関数を実行しています。
function fetchData(callback) {
  // データの取得を非同期で行う
  setTimeout(function() {
    var data = "取得したデータ";
    // コールバック関数の実行
    callback(data);
  }, 2000);
}
function processFetchedData(data) {
  console.log("取得したデータ:", data);
}
// fetchData関数を呼び出し、processFetchedDataをコールバック関数として渡す
fetchData(processFetchedData);
  1. コールバック関数のエラーハンドリング コールバック関数では、エラーが発生した場合にそれを適切に処理する必要があります。以下の例では、コールバック関数の第一引数としてエラーオブジェクトを渡し、エラーの有無に応じて処理を行います。
function doSomething(callback) {
  // 何らかの処理
  // エラーが発生した場合
  var error = new Error("エラーメッセージ");
  if (error) {
    callback(error);
  } else {
    callback(null, "成功");
  }
}
function callbackFunction(error, result) {
  if (error) {
    console.error("エラー:", error.message);
  } else {
    console.log("結果:", result);
  }
}
// doSomething関数を呼び出し、callbackFunctionをコールバック関数として渡す
doSomething(callbackFunction);

上記の例では、コールバック関数の使い方とエラーハンドリングの基本的な考え方を示しました。これらの例を参考にしながら、JavaScriptでコールバック関数を効果的に利用して、より複雑な処理や非同期操作を実装することができます。