javascript - Parse.com cloudcode 从未输入成功/错误

标签 javascript ios parse-platform cloud

我在我的解析云中运行了这段代码,当我从我的应用程序中调用它时,它永远不会输入成功或错误语句。可能是因为 .save 不起作用?

非常感谢任何帮助:)

这就是我调用云函数的方式:

[PFCloud callFunctionInBackground:@"addFeeling"
                   withParameters:@{@"userId"           : [[PFUser currentUser]objectId],
                                    @"relationShipId"   : _friendship.objectId,
                                    @"tagId"            : [NSNumber numberWithInt:tag],
                                    @"reason"           : @"Hardcoded HomeView(409)",
                                    @"value"            : [NSNumber numberWithInt:value]}
                            block:^(NSString *result, NSError *error) {
                                if (!error) {
                                    DLog(@"results :%@", result);
                                }
                                else{
                                    DLog(@"Error : %@", error);
                                }
                            }];

这是云函数本身:

Parse.Cloud.define("addFeeling", function(request, response) {
    var userId         = request.params.userId;
    var relationShipId = request.params.friendshipId;
    var tagId          = request.params.tagId;
    var reason         = request.params.reason;
    var value          = request.params.value;

    var Feels = Parse.Object.extend("Feels");
    var feeling = new Feels();
    feeling.set("id_friendship", relationShipId);
    feeling.set("value", value);
    feeling.set("tag", tagId);
    feeling.set("reason", reason);
    feeling.save({
        success: function () {
            var query = new Parse.Query("Feels");
            query.equalTo("id_friendship", relationShipId);
            query.find({
                success: function(results) {
                    if(results.length > 0)
                    {
                        result = results[0];
                        if(result.get("userFrom") == userId)
                            result.set("scoreTo"  , result.get("scoreTo") + value);
                        else
                            result.set("scoreFrom", result.get("scoreFrom") + value);
                        result.save();
                    }
                }
            });
            console.log("Save ok");
        },
        error: function (error) {
            response.error(error);
            console.log("Save ko");
        }
    });
});

这可能真的很简单,但我根本不习惯 JS。

我得到的错误是代码:141,永远输入成功/错误。

最佳答案

当你的函数完成你想要做的事情时,你应该调用 response.success()response.error() 来指示你已经完成了。

您已经在出现错误的情况下执行了此操作,但在实际处理查询结果时并未执行此操作。

关于javascript - Parse.com cloudcode 从未输入成功/错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26891751/

相关文章:

swift - PFObject 子类获取 "Cannot convert value of type ' Match' 到预期参数类型 '@noescape (AnyObject) throws -> Bool'“错误

Android Parse SDK - 保护凭据

javascript - 如何在我的 document.getElementbyid 中使用 obj.init?

javascript - rails 4.1.1 : JS file in lib/assets/javascripts doesn't load

ios - 使用 UIColor(patternImage :) for UIView's tintColor?

ios - 更改 JSQMessagesViewController 的框架

javascript - Curl 返回正确的响应,浏览器返回 null

javascript - 在 AngularJS $http GET 中传递变量?

ios - 在 Objective-C 中实时验证文本字段

ios - 如何将图像从 Parse 加载到 UIImageView (iOS)