javascript - Parse.Cloud多个成功函数称为

我正在开发一个照片应用程序,我正在编写一个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(本机)
    在Object.x.each.x.forEach [作为_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()函数是异步的,这意味着无论有多少失败或成功,它都会被多次调用。您最好在这里使用Promise,但让我们先看看错误是什么...

译文:来源   文章分类: javascript backbone.js parse-platform

相关文章:

javascript - node.js上的OAuth问题

javascript - Moski Gist-Blogger未在Chrome中加载Gist(适用于Blogger动态视图中的Gists)

javascript - 需要按钮来显示和隐藏覆盖导航

javascript - 查找字符串中的ID并从数组中替换

javascript - 如何对打字稿中的值进行分组和求和

javascript - 检测NoScript(不是标签,扩展名)

javascript - 将类别添加到选择中的选项

javascript - 缓存和预取Java中的到期承诺

javascript - jQuery中的并行JSONP请求不会触发多个“回调事件”吗?

javascript - Flutter - 谷歌地图,不显示我的位置