我正在学习云代码的第三天,但进展甚微。我对呼叫过程的工作方式感到困惑。在云代码中,我需要使用afterSave来查询一个类,其中键“sent”等于false,对于recipients数组中的每个收件人,向每个收件人推送一个通知并将“sent”设置为true。
我将afterSave函数保存在main.js中,但是每次使用PFCloud.callFunctionInBackground()调用它时,我都会得到[Error]: function not found (Code: 141, Version: 1.7.2)
这是我的余波触发器:

Parse.Cloud.afterSave("Send", function(request) {
  query = new Parse.Query("Shares");
  query.get(request.object.get("share").id, {
    success: function(post) {
      console.success("Howdy");
    },
    error: function(error) {
      console.error("Got an error " + error.code + " : " + error.message);
    }
  });
});

在这里,我用Swift调用函数:
PFCloud.callFunctionInBackground("Send", withParameters: nil) {
            (response: AnyObject?, error: NSError?) -> Void in
            let result = response as? String
            println(result)

        }

如果我调用saveInBackgroundWithBlock闭包中的afterSave触发器,是否使用PFCloud.callFunctionInBackground调用它?

最佳答案

我认为afterSave所做的事情与你想象的不同-当你保存一个对象时它会自动触发。在本例中,如果您有一个Send类型的对象,并且您更新了该对象并保存了它,那么您的afterSave函数将被调用。例如,这对于验证保存的对象是否有效或更新相关对象通常很有用。
我觉得你可以用Cloud Function完成你想做的事情。您可以从Swift代码调用它,它是一个不同的命名函数,而不是自动调用的函数。

08-18 09:47