私は多くの同様の質問を見てきましたが、実際に私の問題に答えたものはありません. 簡単だと思いますが、そうではないと思います。
関数を 20 回呼び出す必要があり、それぞれ異なる SQL ステートメントのセットを使用します。呼び出された関数は SQL クエリを実行し、結果は eventHandler によって処理されます。次の関数呼び出しを実行する前に、イベント ハンドラーのチェックを終了する必要があります。
イベント ハンドラーは非同期であるため、呼び出し元の関数はハンドラーを待たずに完了します。次の queryFunction に進む前に、queryFunction が queryHandler が完了するのを待つ必要があります。私のプロジェクトは AIR ですが、これは問題の一部ではないと思います。
私は明確であるといいのですが、私はJavaScriptに比較的慣れていません。
function mainFunction(){
queryFunction (var1, var2); // There would be twenty of these with
queryFunction (var1, var2); // different values for var1 and var2
queryFunction (var1, var2);
queryFunction (var1, var2);
// etc, etc....
}
function queryFunction (){
var sqlStatment = 'SELECT Field1, Field2, Field3'+
'FROM [TableName] ' +
'WHERE Field1= var1 AND Field2= var2'; //simplified code
var stmt = new air.SQLStatement();
stmt.sqlConnection = conn;
stmt.text = sqlStatment;
stmt.addEventListener(air.SQLEvent.RESULT, queryHandler);
stmt.addEventListener(air.SQLErrorEvent.ERROR, errorHandler);
stmt.execute();
}
function queryHandler(event){
// queryHandler code
}