コールバック関数に追加の引数を渡す
JavaScript では、非同期操作を実行するためにコールバック関数がよく使用されます。これらは 1 つ以上の引数を受け入れ、操作の完了時に呼び出されます。場合によっては、追加の引数をコールバック関数に渡す必要があります。
次の例を考えてみましょう:
const callWithMagic = callback => { const magic = getMagic(); callback(magic); }; const processMagic = (magic, theAnswer) => { someOtherMagic(); };
ここで、callWithMagic 関数はコールバック関数をパラメータとして受け取り、それを次のように呼び出します。 magic という名前の単一の引数。ただし、magic と theAnswer の 2 つの引数を必要とする processMagic 関数もあります。
processMagic 関数を引数として callWithMagic に渡すには、magic と theAnswer の両方を引数として指定する必要があります。これを実現する 1 つの方法は、ラッパー コールバック関数を使用することです。
callWithMagic(function(magic) { return processMagic(magic, 42); });
この場合、ラッパー関数は、magic を引数として受け取り、magic と theAnswer のハードコードされた値 42 を使用して processMagic を呼び出した結果を返します。 .
あるいは、ES6 のアロー関数を利用して、より簡潔にすることもできます。アプローチ:
callWithMagic(magic => processMagic(magic, 42));
このアロー関数もマジックを引数として受け取りますが、暗黙的に processMagic の呼び出し結果を返します。
ラッパー関数またはアロー関数のいずれかを使用することで、コールバック関数に追加の引数を追加すると、追加の依存関係を持つより複雑なコールバックを使用できるようになります。
以上がJavaScript コールバック関数に追加の引数を渡すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。