我正在开发一个照片应用程序,我正在编写一个 Parse.Cloud 程序来更新照片类型计数的任何类别。
例子:
动物 -> 300 张照片 玩具 -> 350 张照片 等..
这是云代码
Parse.Cloud.define("updateCategoriesCount", function(request,response){
Parse.Cloud.useMasterKey();
var queryCategory = new Parse.Query("categories");
queryCategory.find({
success: function(categories){
for (category in categories){
var queryRecipes = new Parse.Query("photos");
queryRecipes.equalTo("categoryObj",category);
queryRecipes.count({
success: function(count){
category.set("count",count);
category.save();
},
error: function(error){
response.error("Error on counting photos for category");
}
});
}
},
error: function(error){}
});
});
但是当调用该函数时,日志是:
输入:{} 失败:错误:无法多次调用成功/错误 在 Object.error (:106:9) 在 Object.queryPhotos.count.error (main.js:196:16) 在 Parse.js:2:7842 在 f (Parse.js:2:6754) 在 Parse.js:2:6246 在 Array.forEach( native ) 在 Object.x.each.x.forEach [as _arrayEach] (Parse.js:1:664) 在 c.extend.reject (Parse.js:2:6199) 在 f (Parse.js:2:6949) 在 Parse.js:2:6246
如何解决这个问题?
谢谢大家:D
最佳答案
您的错误处理程序被多次调用,因此您应该尝试找出导致错误的原因。而不是
response.error("some error string");
使用
response.error(error.message);
这样你就可以检查你的 Parse.com 日志,看看发生了什么。请记住 .count() 函数是异步的,这意味着无论有多少次失败或成功,它都会被调用多次。你最好在这里使用 promises,但让我们先看看错误是什么......
关于javascript - Parse.Cloud 多次调用成功函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27448339/