Javascript Parse[Error]:未调用成功/错误(代码:141,版本:1.9.0)

Javascript Parse[Error]:未调用成功/错误(代码:141,版本:1.9.0),javascript,objective-c,parse-platform,httprequest,Javascript,Objective C,Parse Platform,Httprequest,我正在尝试编写一个云代码函数,允许我编辑其他用户的数据,因为我自己无法在应用程序中编辑。代码所做的(我应该说是尝试做的,因为我不知道JS)是根据输入的两个对象ID使用两个单独的查询来获取一个用户对象和一个组(我创建的一个类)对象。这是我的密码 Parse.Cloud.define("addInvite", function(request, response) { Parse.Cloud.useMasterKey(); var userID = request.params.user; va

我正在尝试编写一个云代码函数,允许我编辑其他用户的数据,因为我自己无法在应用程序中编辑。代码所做的(我应该说是尝试做的,因为我不知道JS)是根据输入的两个对象ID使用两个单独的查询来获取一个用户对象和一个组(我创建的一个类)对象。这是我的密码

Parse.Cloud.define("addInvite", function(request, response) { 
Parse.Cloud.useMasterKey();

var userID = request.params.user;
var groupID = request.params.group;

var user;
var group;


var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo("objectId", userID);


return userQuery.first
({
    success: function(userRetrieved)
    {
        user = userRetrieved;    
    },
    error: function(error)
    {
        response.error(error.message);
    }
});



var groupObject = Parse.Object.extend("Group");
var groupQuery = new Parse.Query(groupObject);
groupQuery.equalTo("objectId", groupID);


return groupQuery.first
({
    success: function(groupRetrieved)
    {
        group = groupRetrieved;    
    },
    error: function(error)
    {
        response.error(error.message);
    }
});
var relations = user.relation("invited");
relations.add(group);

user.save();
response.success(); 
})

每次执行该方法时,都会出现以下错误: [错误]:未调用成功/错误(代码:141,版本:1.9.0)


有人能帮忙吗?谢谢。

解析云中的每个函数都会返回一个承诺。这还包括为检索某些数据而运行的任何查询函数。显然,在您的代码中,当您执行一个查询时,您正在返回一个承诺,该查询在您的查询完成时突然结束了您的云功能。由于您没有在任何成功块中调用
response.success()
response.error()
,因此您的云函数返回时没有设置合适的响应,这是解析所需要的,因此会出现错误。您的代码需要链接所有承诺,以确保代码正确执行,并在最后一步返回成功/错误:

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

    Parse.Cloud.useMasterKey();

    var userID = request.params.user;
    var groupID = request.params.group;

    var user;
    var group;

    var userQuery = new Parse.Query(Parse.User);
    userQuery.equalTo("objectId", userID);

    userQuery.first().then(function(userRetrieved) {
        user = userRetrieved;     
        var groupObject = Parse.Object.extend("Group");
        var groupQuery = new Parse.Query(groupObject);
        groupQuery.equalTo("objectId", groupID);
        return groupQuery.first();

    }).then( function(groupRetrieved) {
        //group = groupRetrieved;    
        var relations = user.relation("invited");
        relations.add(groupRetrieved);
        return user.save();

    }).then(function() {
        response.success(); 

    }, function(error) {
        response.error(error.message);
    });

});

删除
return
s,您不需要它们谢谢!这次没有错误,函数按预期工作!