解析后保存云函数返回成功结果但不执行成功函数

Posted

技术标签:

【中文标题】解析后保存云函数返回成功结果但不执行成功函数【英文标题】:Parse aftersave cloud function returns a success result but doesn't execute success function 【发布时间】:2015-09-05 05:45:18 【问题描述】:

我无法让我的 aftersave 云函数增加另一个数据表中的值。 Parse 文档在这方面有点混乱。

我有一个名为“CandidateVotes”的表,它为“候选人”的每次投票存储一行 - 当保存新的投票行时,我想增加存储在另一个名为“CategoryCandidates”的表中的总票数" 每个“候选人”都有一行。

所以相关信息: - 投票表称为“CandidateVotes” - 候选人表称为“CategoryCandidates” - CategoryCandidates 表中的总票数列被调用 “投票” - 我正在初始化“CategoryCandidates”行,“votes”值为 0

这是我的 Parse aftersave 云函数:

Parse.Cloud.afterSave("CandidateVotes", function(request) 
  query = new Parse.Query("CategoryCandidates");
  query.get(request.object.get("candidateID").objectID, 
    success: function(candidate) 
      candidate.increment("votes");
      candidate.save();
    ,
    error: function(error) 
    
  );
);

这是我在云代码日志中看到的:

I2015-09-05T04:18:21.151Z]v15 after_save triggered for CandidateVotes for user 7YfU2ETvb3:
  Input: "object":"candidateID":"__type":"Pointer","className":"CategoryCandidates","objectId":"XcfYPgijtn","createdAt":"2015-09-05T04:18:21.150Z","objectId":"sLySF6MvvQ","updatedAt":"2015-09-05T04:18:21.150Z","userID":"__type":"Pointer","className":"_User","objectId":"7YfU2ETvb3"
  Result: Success

但是“投票”列没有增加。它仍然是 0。

任何想法都将不胜感激!

【问题讨论】:

【参考方案1】:

objectId 属性在 javascript 中只是 id

//replace
request.object.get("candidateID").objectID
//with this
request.object.get("candidateID").id

【讨论】:

以上是关于解析后保存云函数返回成功结果但不执行成功函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言函数执行成功时,返回1和返回0,究竟哪个好?

sql语句执行成功返回啥

阿里云调用 API 服务后返回啥结果

C语言学习笔记C语言函数执行成功时,返回1和返回0,究竟哪个好?

shell里判断返回值的问题

uploadTask 成功后,ref.downloadURL() 不执行或返回 url