私の Parse Cloude コードでは、それぞれ「find()」を使用して、いくつかの連続したクエリを実行する必要があります。
例:
var promise = firstQuery.get(objectId).then(function(result1){
return secondQuery.find();
}).then(function(result2){
return thirdQuery.find();
}).then(function(result3) {
// here I want to use "result1", "result2" and "result3"
});
問題は、親スコープで宣言された変数に割り当てずに、最後の「then」ステートメントで「result1」と「result2」にアクセスするにはどうすればよいかということです。
なぜ私はこれを尋ねるのですか: 並列で実行するためにループで作成した一連のプロミスをネストしている場合、親スコープのトリックを使用することはできません (上記のステートメントの周りに for ループがあり、すべてのプロミスが配列に入れ、「Parse.Promise.when」を使用して評価します。それらはすべて、同時に親スコープ変数の変更を開始します。)
次の行に沿って何かを返すことができる、ある種の約束オブジェクトを作成できますか?
Parse.promise({result:result1,findResult:secondQuery.find()};
したがって、「result2」パラメーターから値を取得するには、次のようにします。
result2.result
と
result2.findResult
私は自分自身を明確にすることを願っています。これを説明するのは非常に簡単ではありません。