javascript - Parse.Cloud 多次调用成功函数

标签 javascript backbone.js parse-platform

我正在开发一个照片应用程序,我正在编写一个 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/

相关文章:

backbone.js - 为什么在 Backbone 的模型中使用 getter 和 setter?

Jquery 数据表搜索框左对齐

android - 在后台解析推送通知

javascript - 谷歌饼图 : Uncaught Error: Container is not defined

javascript - jscrollpane - 水平滚动

javascript - 是否可以知道该请求正在处理

node.js - 在 Parse 服务器 CloudCode 中使用已初始化的邮件适配器

javascript - 我不明白 var foo = [true].concat(Array.prototype.slice.call(arguments)) 是如何工作的,具体来说 [true] 正在做什么?

javascript - 如何在带有 pushState 的 Backbone 中使用 SEO 友好的 URL?

javascript - 使用 Parse Cloud Code 将用户添加到 PFRelation