For loop 循环中有许多删除的云代码,但response.success首先在parse.com上完成
我有一个查询,他们的查询可能会返回很多项。 我可以把它们全部检查一遍,然后摧毁它们 问题是因为destroy是异步的,所以response.success();部分在执行所有销毁之前执行,因此并非所有项目都被真正删除 我怎样才能让它等到循环完成后才响应。success() 谢谢For loop 循环中有许多删除的云代码,但response.success首先在parse.com上完成,for-loop,cloud,parse-platform,destroy,For Loop,Cloud,Parse Platform,Destroy,我有一个查询,他们的查询可能会返回很多项。 我可以把它们全部检查一遍,然后摧毁它们 问题是因为destroy是异步的,所以response.success();部分在执行所有销毁之前执行,因此并非所有项目都被真正删除 我怎样才能让它等到循环完成后才响应。success() 谢谢 garageQuery2.find({ success: function(results) { alert("Successfully retrieved "
garageQuery2.find({
success: function(results) {
alert("Successfully retrieved " + results.length + " garages to delete.");
// Do something with the returned Parse.Object values
for (var i = 0; i < results.length; i++) {
var object = results[i];
object.destroy({
success: function(myObject) {
// The object was deleted from the Parse Cloud.
},
error: function(myObject, error) {
// The delete failed.
// error is a Parse.Error with an error code and description.
}
});
}
response.success();
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
garageQuery2.find({
成功:功能(结果){
警报(“已成功检索”+results.length+“要删除的车库”);
//对返回的Parse.Object值执行一些操作
对于(var i=0;i
试着与承诺合作
此代码基于以下内容:
希望能有帮助
garageQuery2.find().then(function(results) {
// Create a trivial resolved promise as a base case.
var promiseSeries = Parse.Promise.as();
// the "_" is given by declaring "var _ = require('underscore');" on the top of your module. You'll use Underscore JS library, natively supported by parse.com
_.each(results, function(objToKill) {
// For each item, extend the promise with a function to delete it.
promiseSeries = promiseSeries.then(function() {
// Return a promise that will be resolved when the delete is finished.
return objToKill.destroy();
});
});
return promiseSeries;
}).then(function() {
// All items have been deleted, return to the client
response.success();
});