云函数返回零值

时间:2016-07-09 04:25:45

标签: javascript ios swift parse-platform

我让一位自由职业者在云代码中做了一些工作但是由于发生了争论,我再也无法与他们联系。我不知道javascript,也不熟悉Parse云代码,我希望有人可以说明我是否正确调用此函数,因为它返回就好像它的参数等于nil虽然我确实相信我给它一个值。下面是javascript云代码函数以及我调用它的swift代码。例如,它返回值(-5)。

Parse.Cloud.define("AddFriendRequest", function (request, response) {

var FriendRequest = Parse.Object.extend("FriendsIncoming");

var FRequest = new FriendRequest();

var user = request.user;

var query = new Parse.Query(Parse.User);
query.equalTo("username", request.params.username);
query.find({
success: function (people) {
    if(people.length == 0)
    {
        response.success(-5);
        return;
    }

    var person = people[0];
    FRequest.set("OwnerID", user.id);
    FRequest.set("TargetFriend", person.id);
    FRequest.set("Status", 0);

    var query = new Parse.Query("FriendsIncoming");
    query.equalTo("OwnerID", user.id);
    query.equalTo("TargetFriendID", person.id);
    query.find({
        success: function (results) {

            if (results.length > 0) {
                response.success(1);
                return;
            }
            FRequest.save(null, {
                success: function (Friend) {
                    response.success(2);
                },
                error: function (Friend, error) {
                    response.error(3);
                }
            });
            response.error(-2);

        },
        error: function () {
            response.error(-1);
        }
    });
}
,
error: function (Friend, error) {
    response.error(-4);
}

});


});


func textFieldShouldReturn(textField: UITextField) -> Bool {
    if textField == NewRequest {
        textField.resignFirstResponder()
        print(NewRequest)
        var name : NSString
        name = NewRequest.text!
        print(name)
        //let parameters : [NSObject : AnyObject]
        let params = ["TargetFriendID" : name]

        PFCloud.callFunctionInBackground("AddFriendRequest", withParameters: params) { results, error in
            if error != nil {
                //Your error handling here
            } else {
                print(results)
            }
        }

        return false
    }
    return true
}

1 个答案:

答案 0 :(得分:0)

来自客户端的参数名为"TargetFriendID",但云函数在request.params.username上运行查询。

将swift中的参数重命名为username,或将云中的参数重命名为request.params.TargetFriendID