使用 Swift 在 Parse Server 中触发

Posted

技术标签:

【中文标题】使用 Swift 在 Parse Server 中触发【英文标题】:Triggers in Parse Server using Swift 【发布时间】:2016-08-25 22:25:01 【问题描述】:

最近,我的任务是使用 Swift 为 ios 做一个简单的聊天应用程序。所以,我已经准备好并运行了一个解析服务器!我只想知道如何使用触发器..

假设我打开了一个对话,并且刚刚收到一条新消息。我怎样才能得到它,而无需不断检查新消息?我看到云代码可能是要走的路,但如果是这样,它实用吗?我的意思是,如果我有 5000 个用户并且他们一直在聊天,它会表现良好吗?

提前致谢!

【问题讨论】:

【参考方案1】:

你想使用Parse LiveQuery 组件。

    Add Live Query to your server's config:

    let api = new ParseServer(
      ...,
      liveQuery: 
        classNames: ['Test', 'TestAgain']
      
    );
    
    // Initialize a LiveQuery server instance, app is the express app of your Parse Server
    let httpServer = require('http').createServer(app);
    httpServer.listen(port);
    var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer);
    

    将 Parse LiveQuery 库作为 pod 安装到您的项目 (pod 'ParseLiveQuery')。

    订阅活动:

    let myQuery = Message.query()!.where("user", equalTo: PFUser.currentUser()!)
    let subscription: Subscription<Message> = myQuery.subscribe()
    

    处理事件:

    subscription.handleEvent  query, event in
        // Handle event
        // This callback gets called every time an object is created, updated, deleted etc.
    
    

【讨论】:

我已经尝试过了,但我无法让它们工作!事件根本没有响应..我认为它很快就会供公众使用.. 我将它用于我的项目,效果很好。如果您在使用 Parse LiveQuery 时遇到问题,请发布另一个与之相关的问题。但是您当前的问题可以通过 Parse LiveQuery 解决。这就是它的本意。 好的..顺便说一句,把实时查询放在一边,我的问题可以通过云代码来解决吗? 所以,我再次尝试了 LiveQueries,他们终于成功了!!!它们似乎是一个很好的解决方案,尽管我注意到了一些问题......(如指针比较)无论如何,你说它们的效率如何?我的意思是,在一台双核、2GB 内存的机器中,您估计它可以支持多少用户? @SotirisKaniras 不知道,我的应用还没有投入生产。

以上是关于使用 Swift 在 Parse Server 中触发的主要内容,如果未能解决你的问题,请参考以下文章

iOS Swift Parse-Server 用户登录认证

使用 Swift Parse Server 和 AWS SES 请求重置电子邮件的密码

Swift 3 上传图片到 Parse Server

Parse Server Swift Logic 用于抓取数组中包含的所有项目

在 Parse Server 中向我的数组添加唯一值(swift 3)

使用 Swift 3 上传和图像到 Parse Server 失败:“JSON 文本不是以数组或对象开头”