ホームページ  >  に質問  >  本文

Node.js で MySQL クエリ コールバック関数にパラメータを渡す方法

<p>カスタム データをクエリ呼び出しに渡し、コールバックで利用できるようにする正しい方法を見つけようとしています。 私はnodejsでMySQLライブラリ(すべて最新バージョン)を使用しています。 </p> <p>呼び出し connection.query(sql, function(err, result) {...});</p> <p>1) コールバックが呼び出されたときに使用できるように、カスタム データ/パラメータを呼び出しに渡す方法が見つかりません。 それで、どうするのが正しいのでしょうか? </p> <p>次の疑似コードがあります: </p> <pre class="brush:php;toolbar:false;">... for (ix in SomeJSONArray) { sql = "SELECT (1) FROM someTable WHERE someColumn = " SomeJSONArray[ix].id; connection.query(sql, function (err, result) { ... var y = SomeJSONArray[ix].id; }; }</pre> <p>上記のコードから、クエリで使用される「ix」の現在の値をコールバック自体に渡すことができる必要があります。 </p> <p>これを行うにはどうすればよいですか? </p>
P粉078945182P粉078945182424日前612

全員に返信(2)返信します

  • P粉212971745

    P粉2129717452023-08-23 13:55:53

    最初の質問に答えて例を示して説明するには、受信データを含む「スナップショット」スコープを即座に作成する無名関数でコールバック関数をラップします。

    リーリー

    この概念を学んだばかりの私のような人にとって、最後の })(ix)); は (function(ix){ に渡される外側の変数 ix=1 の値です。 ("ix=" abc); は console.log("ix=" abc); に変更され、その後、(function(abc){.

    ) に名前変更できます。

    fwiw (解決策を思いつくためにギャップを埋めてくれたリンクを提供してくれた Chris に感謝します)

    返事
    0
  • P粉476046165

    P粉4760461652023-08-23 11:39:22

    node-mysql を使用している場合は、ドキュメントの指示に従ってください:

    リーリー

    文字列を適切にエスケープするためのコードもドキュメントで提供されていますが、クエリ呼び出しで配列を使用すると、文字列が自動的にエスケープされます。

    https://github.com/felixge/node-mysql

    返事
    0
  • キャンセル返事