JS有点新鲜。我正在使用Parse.com的CloudCode来计算"得分"一个" Post"实例。我检索任何"投票"与帖子相关联,然后总结他们的"值",然后返回该值。
Parse.Cloud.define("postScore", function(request, response) {
var postId = request.params.postId;
var post = Parse.Object.extend("Post");
post.id = postId;
var query = new Parse.Query("Vote");
query.equalTo("post", post);
query.find({
success: function(results) {
var sum = 0;
for (var i = 0; i < results.length; ++i) {
sum += results[i].get("value");
}
response.success(sum);
},
error: function() {
response.error("Could not calculate value");
}
});
});
出现此错误:
2014-05-02 19:21:09.124 XXX [33361:2d3b]错误:未定义(代码:141, 版本:1.2.19)
不太确定问题是什么。
在我的iOS应用中调用它:
- (void)fetchPostScores
{
for (BVYPost *post in _postsArray) {
[PFCloud callFunctionInBackground:@"postScore" withParameters:@{@"postId": post.objectId} block:^(NSNumber *score, NSError *error) {
if (!error) {
post.score = score;
}
}];
}
}
答案 0 :(得分:1)
这是错误的:
var post = Parse.Object.extend("Post");
post.id = postId;
正确的语法是:
var post = new Parse.Object("Post");
post.id = postId;