我正在使用Parse,它只允许30个reqs / sec到他们的后端。
因此,我想通过REST适配器限制所有转到Parse的调用(特别是扩展DS.RESTAdapter
的{{3}}。
我尝试限制ajax
方法,我认为需要返回一个Promise:
export default ParseAdapter.extend({
applicationId: ENV.APP.applicationId,
restApiId: ENV.APP.restApiId,
ajax: function(url, type, options) {
var self = this;
return new Ember.RSVP.Promise(function(resolve, reject) {
Ember.run.later(this,resolve,5000); // I would prefer this to be Ember.run.throttle, but not sure if that will work
}).then(function() {
return self._super(url,type,options)
});
}
});
但是我收到了这个错误:
TypeError: Cannot read property 'results' of undefined
at exports.default.DS.default.RESTSerializer.extend.extractArray (vendor.js:115817)
at apply (vendor.js:30197)
at superWrapper (vendor.js:29749)
at ember$data$lib$system$serializer$$default.extend.extractFindAll (vendor.js:81161)
at ember$data$lib$system$serializer$$default.extend.extract (vendor.js:81144)
at superFunction [as _super] (vendor.js:25863)
at exports.default.DS.default.RESTSerializer.extend.extract (vendor.js:115843)
at apply (vendor.js:30197)
at superWrapper [as extract] (vendor.js:29749)
如何限制REST适配器?
答案 0 :(得分:0)
如果我理解正确,您想要一起批处理API请求吗?
我不知道自己做这个的最好方法,但是开始寻找的好地方可能就是这个Ember CLI插件,'ember-model-batch'