Node.js で MySQL クエリ コールバック関数にパラメータを渡す方法
P粉078945182
P粉078945182 2023-08-22 15:44:32
0
2
682
<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粉078945182
P粉078945182

全員に返信(2)
P粉212971745

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

リーリー

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

) に名前変更できます。

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

いいねを押す +0
P粉476046165

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

リーリー

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

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

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート