Javascript Parse.com云代码需要错误“;成功/错误未被称为“成功/错误”;工作
我有一些云代码,但它似乎只有在我得到“success/error was not called”错误作为响应时才起作用Javascript Parse.com云代码需要错误“;成功/错误未被称为“成功/错误”;工作,javascript,parse-platform,parse-cloud-code,Javascript,Parse Platform,Parse Cloud Code,我有一些云代码,但它似乎只有在我得到“success/error was not called”错误作为响应时才起作用 Parse.Cloud.define("Move", function(request, response) { var params = request.params; var Player = Parse.Object.extend("Player"); query = new Parse.Query("Player"); query.ge
Parse.Cloud.define("Move", function(request, response) {
var params = request.params;
var Player = Parse.Object.extend("Player");
query = new Parse.Query("Player");
query.get(params.id, {
success: function(p) {
switch(params.direction){
case "up": p.set("mapy", p.get("mapy") - 1, { success: function(p) {}, error: function(p, error) { response.error(error);}}); break;
case "down": p.set("mapy", p.get("mapy") + 1, { success: function(p) {}, error: function(p, error) { response.error(error);}}); break;
case "left": p.set("mapx", p.get("mapx") - 1, { success: function(p) {}, error: function(p, error) { response.error(error);}}); break;
case "right": p.set("mapx", p.get("mapx") + 1, { success: function(p) {}, error: function(p, error) { response.error(error);}}); break;
}
p.save();
},
error: function(error) {
console.error("Got an error " + error.code + " : " + error.message);
}
});
}
//response.success("success ");
如果最后一行被运行(没有注释),我将得到一个肯定的响应,但不会对解析中的变量进行任何更改
我应该用aftersave吗?如果是,怎么做?因为您正在处理返回的对象,所以我认为您应该在这里使用承诺链接的概念:
Parse.Cloud.define("Move", function(request, response) {
var params = request.params;
var Player = Parse.Object.extend("Player");
query = new Parse.Query("Player");
query.get(params.id).then(function(p) {
switch(params.direction){
case "up": p.set("mapy", p.get("mapy") - 1); break;
case "down": p.set("mapy", p.get("mapy") + 1); break;
case "left": p.set("mapx", p.get("mapx") - 1); break;
case "right": p.set("mapx", p.get("mapx") + 1); break;
}
return p.save();
}).then(function(success){
response.success();
},function(error){
console.error("Got an error " + error.code + " : " + error.message);
});
});