В моем коде 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"
});
Возникает вопрос: как мне получить доступ к "result1" и "result2" в окончательном "then" -производстве, не присваивая их переменным, объявленным в родительской области.
Почему я спрашиваю об этом: вы не можете использовать трюк родительской области, если вы вставляете кучу promises, которую вы создаете в цикле, чтобы они выполнялись параллельно (представьте, что цикл for выше указанного утверждения в результате чего все promises помещаются в массив, а затем вычисляются с использованием "Parse.Promise.when". Все они будут одновременно модифицировать переменные родительской области.)
Можно ли создать какой-то объект обещания, где я мог бы что-то возвращать по строкам:
Parse.promise({result:result1,findResult:secondQuery.find()};
чтобы я мог получить значения из параметра "result2", выполнив
result2.result
и
result2.findResult
Надеюсь, я разъясню. Это не очень легко объяснить.