LoginSignup
0
0

【非同期処理】コールバック関数とは

Last updated at Posted at 2023-09-20

コールバック関数は、他の関数の引数として渡される関数です。
この関数は、ある処理が終了した時点で「呼び出されます」。

コールバック関数の例

function doSomething(callback) {
  // 何かの処理をします (例: データを取得)
  const data = "Hello from doSomething!";
  
  // 処理が完了したら、コールバック関数を呼び出します
  callback(data);
}

doSomething(function(result) {
  console.log(result);  // "Hello from doSomething!"
});

上の例では、doSomething関数にコールバック関数として無名関数を渡しています。
doSomething関数は処理を終了した後、そのコールバック関数を呼び出しています。

コールバック関数の引数名

function doSomething(callback) {
  // ...
  callback(data);
}

ここでのcallbackは、ただの引数の名前です。
名前としてaaafunchandlerなど、他の任意の名前を使用することもできます。
しかし、この関数がコールバックを受け取る関数であることを示すために、多くの開発者はcallbackという名前を選びます。

もしaaaに変更した場合、関数内のcallback(data);aaa(data);と変更する必要があります。

doSomething関数の呼び出しについて

doSomething(function(result) {
  console.log(result);  // "Hello from doSomething!"
});

この記述では、doSomething関数を呼び出しています。
そして、doSomething関数の引数として無名関数(またはラムダ関数、またはアロー関数の特定の形式)を渡しています。

function(result) { ... }は関数です。これは、doSomething関数の中でコールバックとして使用される関数を定義しています。
この関数は、doSomethingの中のcallback(data);によって、dataとして"Hello from doSomething!"が渡されることで呼び出されます。

要するに、doSomething(function(result) { ... });の形式での記述は、「doSomething関数を呼び出し、この関数が完了したら、この無名関数を実行してください」という意味になります。

この無名関数は、コールバック関数としての役割を果たします。

doSomething関数の呼び出しの無名関数の引数名

doSomething(function(aaa) {
  console.log(aaa);  // "Hello from doSomething!"
});

上記のコードでも問題ありません。
ここでのaaaは、コールバック関数の引数の名前として定義されているだけなので、何を使っても構いません。

このコードでは、doSomething関数から返されるdataの値("Hello from doSomething!")がaaaという引数に渡され、その結果がコンソールに出力されます。

名前の選択は、コードの可読性や意図を伝えるためのものなので、意味のある名前や一般的に理解しやすい名前を選ぶとよいです。
しかし、実際の動作には名前自体は影響しません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0