我有一个请求列表,使用swif API为Parse.com提供一个应用程序离线时累积的任务。一些测试表明,如果我一次性下载它,整个时间很慢,即我使用多个请求。但是,我无法弄清楚如何请求许多"随机"来自Pase.com的objectId(我有一个当然的列表,我是指乱序而不是修正号码)
目前我正在使用循环并呼叫许多:
let pred = NSPredicate(format: "newDataID = %@, dataID[i])
query.findObjectsInBackgroundWithBlock { (result:[AnyObject]?, error:NSError?)
我在考虑自动生成谓词的字符串,但是我的图像会使查询变得很慢。
有什么想法吗?
答案 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);
});
});