【问题标题】:Many request to parse at once许多请求一次解析
【发布时间】:2015-07-25 20:43:37
【问题描述】:

我有一个使用 swif API 向 Parse.com 发出的请求列表,用于在应用程序正常运行后累积的任务。一些测试表明,如果我一次全部下载,那么总体时间很慢,即我使用多个请求。但是我不知道如何从 Pase.com 请求许多“随机”objectId(我当然有一个列表,随机我的意思是乱序而不是固定数字)

目前我正在使用循环并调用很多:

 let pred = NSPredicate(format: "newDataID = %@, dataID[i])
 query.findObjectsInBackgroundWithBlock { (result:[AnyObject]?, error:NSError?)

我正在考虑自动生成谓词的字符串,但它可能会变得很长,我的图像会使查询变得很慢。

有什么想法吗?

【问题讨论】:

    标签: javascript swift parse-platform


    【解决方案1】:

    在任何情况下,在一个紧密的循环中发起许多请求都是不明智的。相反,将 dataID 数组发送到云函数。另外,如果它确实是一个对象 id 数组,那么 find 是错误的方法,请改用 get()...

    var _ = require('underscore');  // underscore includes many handy functions, including map and toArray
    
    Parse.Cloud.define("getManyObjectsById", function(request, response) {
        var dataID = request.params.dataID;
        var promises = _.map(dataID, function(anID) {
            var query = new Parse.Query("MyCustomClassName");
            return query.get(anID);
        });
        Parse.Promise.when(promises).then(function() {
            response.success(_.toArray(arguments));
        }, function(error) {
            response.error(error);
        });
    });
    

    叫它...

    PFCloud.callFunctionInBackground("getManyObjectsById", withParameters: dataID) {
      (objects: [AnyObject]?, error: NSError?) -> Void in
          // objects should be an array of objects corresponding to the ids
    }
    

    【讨论】:

    • 谢谢我一直在努力了解如何使用您在上面使用解析代码发布的javascript代码,我如何上传它来解析?提前致谢
    • 请参阅有关云代码的文档部分。 (请参阅“入门”部分中的链接parse.com/docs/ios/guide#cloud-code)。您将获得一个小命令行工具,可让您将 JS 函数部署到您的应用程序中。
    • 我在周末的部署部分遇到了问题,我想我今天只是精疲力尽,太容易了!我应该在哪个文件/目录中添加此代码?谢谢!
    猜你喜欢
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-05
    • 2023-03-02
    • 1970-01-01
    相关资源
    最近更新 更多