Javascript Parse[Error]:未调用成功/错误(代码:141,版本:1.9.0)
我正在尝试编写一个云代码函数,允许我编辑其他用户的数据,因为我自己无法在应用程序中编辑。代码所做的(我应该说是尝试做的,因为我不知道JS)是根据输入的两个对象ID使用两个单独的查询来获取一个用户对象和一个组(我创建的一个类)对象。这是我的密码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
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,您不需要它们谢谢!这次没有错误,函数按预期工作!