あなたの定義は近すぎますが、不十分です。コールバックは、Bが他の関数B(またはオブジェクトB)に渡す関数Aです。を適切な点に呼び出します。
いくつかの機能では、「適切なポイント」は、その機能が完了した後のものです。
多くの関数またはオブジェクトは、コールバックを起動できるときに一連の「特定のポイント」またはイベントを定義します。たとえば、AJAXを介して定期的に更新されるコントロールを持っている場合、更新しようとしているときに発生するイベント、更新が戻った後に発生するイベント、結果が表示された後に発生するイベントが定義されます。これらのイベントのいずれかに対して、そのイベントが発生したときに呼び出されるカスタム関数を渡すことができます。
カスタム関数が呼び出される定義済みのポイントセットは、「フック」が意味するものです。彼らはあなたの機能をあらかじめ構築されたライブラリに繋ぐことができる場所です。
追加するように編集:
OPは、フックの簡単な例を求めました。
ユーザー名のリストを取得し、リストを通過し、各ユーザーの詳細を検索し、人物オブジェクトの入力済みリストを返すように設計された関数を作成したとしましょう。
多分、私の機能を利用するプログラマーに、自分のデータベースにユーザー名が見つからないときに何が起こるべきかを指定できるようにしたいと考えています。あるプログラマーは、関数がエラーを出してしまい、別のプログラマーが欠けている例を無視したいかもしれないし、別のプログラマーが別のデータベースを見たいと思うかもしれないし、別のプログラマーが空のpersonオブジェクトを作りたいかもしれない。
だから私の関数のシグネチャは、私は私のデータでは見つけることができないユーザ名に来る時はいつでも、私はちょうど今
missingUsernameCallback(notFoundUsername);
を呼び出し、関数内
function getPeople(arrayOfUsernames, missingUsernameCallback)
のようなものかもしれませんプログラマは、
のような関数を呼び出すことができます
getPeople(["adam","betty","charlie"], function(name){ alert("Missing username " + name)});
私は不足しているユーザー名を押すたびに、私は私に渡された関数を呼び出します。
ことが可能とコールバックのリストは、関数で定義されたとすべきであろう
getPeople(["adam","betty","charlie"],
{startOfListCallback: function(){ alert("I'm starting the list")},
missingUsernameCallback: function(){ alert("Missing username"!)},
endOfListCallback: function(){ alert("I'm at the end of the list") });
などのように呼び出すことができるよう、より複雑なケースでは、私は、複数のコールバック関数を含むオブジェクトを受け入れるために必要があるかもしれませんがAPIドキュメント(コールバックに渡すことができるパラメータなど)を参照してください。そのコールバックのリストはフックです。
コールバックについての明確な説明。あなたはフックの簡単な例を提供してもよろしいですか? – stinkycheeseman
例を追加するように編集しました。 –
素晴らしいです、ありがとうございます。あなたは本当に私がこれを理解するのを手伝った! – stinkycheeseman