许多人要求立即解析

时间:2015-07-25 20:43:38

标签: javascript swift parse-platform

我有一个请求列表,使用swif API为Parse.com提供一个应用程序离线时累积的任务。一些测试表明,如果我一次性下载它,整个时间很慢,即我使用多个请求。但是,我无法弄清楚如何请求许多"随机"来自Pase.com的objectId(我有一个当然的列表,我是指乱序而不是修正号码)

目前我正在使用循环并呼叫许多:

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

beforeStop: function (e, ui) {
                if (overSortable) {
                   curDrag.addClass('placeholder');
                   var dragging = curDrag.find("img").remove();

                   curThis.append(dragging).addClass("dropped");
                   curThis.droppable('disable');

                    var day = curDrag.attr('data-id');
                    var index = $(curTarget).index();

                    //...

                } else {
                    ui.item.addClass('placeholder')
                }

称之为......

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);
    });
});