私はSails JSの初心者です。私は複数の.query( "SELECT ...")を作成しようとします。私はそれがシーケンスを実行していないように見えるときに問題があります。私は私のスニペットコードを見て、私の問題を説明します:セイルJS - ネストされた.queryメソッドはシーケンスを実行しません
var isSuccess = true;
for(var loc = 0 ; loc < decode.length ; loc++){
Location.query('SELECT * FROM abc', function (err, res){
if (err) {
isSuccess = false;
return res.json(200, {
data: {
},
status: {
id: 0,
message: err.message
}
});
} else {
var validate = res.rows;
sails.log(validate);
secondQuery.query('SELECT * FROM def', function (err, seconResult) {
if (err) {
isSuccess = false;
sails.log("Update is Success : "+isSuccess);
return res.json(200, {
data: {
},
status: {
id: 0,
message: err.message
}
});
} else {
}
});
}
});
if(isSuccess){
return res.json(200, {
data: {
},
status: {
id: 1,
message: "Successful",
isSuccess: isSuccess
}
});
}
}
私はPOSTメソッドを介してAPIを要求し、結果が:
コンソールノードJSサーバーの場合:
アップデートは成功です。偽 だから、それはそれは、要求が失敗していると郵便配達
ではなく、ポストマンに復帰状態= 0でなければならないことを意味ショー:
data: {
},
status: {
id: 1,
message: "Successful",
isSuccess: true
}
私の質問:は
は、誰もがなぜ、どのようにそれをシーケンス処理を行うために説明するために私を助けることができる、「マルチスレッド」を好きではありませんか? (私の場合は、私は本当に複雑なクエリに直面するRAWクエリの原因を使用する必要があります)
ありがとう。
for-loopでクエリを実行する必要がある場合は、常に「マルチスレッド」と感じるため、複雑さを回避することはできません。あなたはあなたの質問の性質についてより具体的になりますか?あなたは1つに結合したり、そうでない場合、すべてのコードが完了したときに実行するいくつかのコードをトリガする方法があるかもしれません。 – arbuthnott
1つに結合?結合する方法をもっと説明できますか?ありがとうございました。 – Michael
'SELECT * FROM abc'よりも具体的な例がありますか? – arbuthnott