首页 文章

用 Cloud 代码操纵parse.com类

提问于
浏览
0

我有一个使用parse.com作为后端的随机消息应用程序 . 我使用键将消息保存在名为“Messages”的类中:

  • "messageBody"(这是邮件的内容)和

  • "senderId"(当然是发件人ID)

在我的Messages类中保存后,我使用 Cloud 代码查询3个随机用户并将此消息发送给他们 .

我的问题是哪个是最好的方法,因为我预见到当前方法中的错误 . 我正在使用的当前方法是在用户按下发送后我将消息保存到Parse.com然后我调用“发送给3个随机用户” Cloud 功能,但是如果我的消息没有成功保存到解析后端怎么办? Cloud 功能实现了吗?

-(IBAction)send{

      PFObject *message = [PFObject objectWithClassName:@"Message"];
      [message setObject:self.messageContent forKey:@"messageBody"];
      [message setObject:[[PFUser currentUser] objectId] forKey:@"senderId"];

      [message saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error){
        if(error){
           //show alert with error
        }
        else{
           //everything was successful
        }
       }];



       [PFCloud callFunctionInBackground:@"sendToThreeRandomUsers" withParameters:@{} 
                                                                   block:^(NSString *result, NSError *error) {
                                                                       if (!error) {
                                                                          //cloud function was a success!
                                                                       }
                                                                    }];

  }

基本上我想知道是否有一种方法,只要在Messages类中有新对象,我可以说从我的解析后端发送给3个随机用户而不是从我的用户设备调用它?

或者我是否应该完全跳过将其保存到我的解析后端,并将其直接发送到我的 Cloud 代码作为 Cloud 功能的参数?然后将它保存到我的后端 . 如果messageBody非常大,该怎么办?

所以这个问题真的不是关于代码而是构建它的方法 .

希望我能用Hector Ramos作为这个问题的标签

1 回答

  • 2

    为什么不为Messages类编写afterSave方法 . 每当成功保存新消息时,执行此方法(Parse.Cloud.afterSave(“消息”,函数(请求,响应)),并且可以选择3个随机用户.API说明在以下链接中;

    https://parse.com/docs/cloud_code_guide#functions-onsave

    希望这会有所帮助,问候 .

相关问题