Parse.com cloudcode 从不输入成功/错误
Posted
技术标签:
【中文标题】Parse.com cloudcode 从不输入成功/错误【英文标题】:Parse.com cloudcode never entering success/error 【发布时间】:2014-11-12 16:26:41 【问题描述】:我在我的解析云中运行了这段代码,当我从我的应用程序中调用它时,它永远不会进入成功或错误语句。可能是因为 .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,输入成功/错误。
【问题讨论】:
【参考方案1】:当你的函数完成了你打算做的事情时,你应该调用response.success()
或response.error()
来表明你已经完成了。
您已经在为出现错误的情况执行此操作,但不是在实际处理查询结果时执行此操作。
【讨论】:
以上是关于Parse.com cloudcode 从不输入成功/错误的主要内容,如果未能解决你的问题,请参考以下文章
将 URL 更改为文件(Parse.com 使用 Javascript CloudCode)
从 Parse.com 云代码(Javascript SDK)获取信息的最佳方式