此时我的代码分别获取每个集合,但考虑到相同的请求是一起发出的,我希望它在一个请求中加载集合。
如果我要合并所有,这就是我的请求响应的样子:
[{id: 5, milestoneName: 'some milestone', tasks: [{id: 1, taskName: 'first task', dueDate: 'Jan 15'}, {id: 2, taskName: 'second task', dueDate: ''}]},{id: 6, milestoneName: 'some other milestone', tasks: [{id: 3, taskName: 'third task', dueDate: 'Jan 16'}, {id: 4, taskName: 'fourth task', dueDate: ''}]}]
基本上,有包含任务的里程碑。此时里程碑集合获取里程碑,当它们被获取时,任务集合(每个里程碑的)被初始化并获取任务。这可能需要相当长的时间(2-3 秒,这很明显)。如果我可以在一个请求中加载它们,一切都会更快。
milestoneModel = Backbone.Model.extend({});
milestoneCollection = Backbone.Collection.extend({
url: 'http://some-url',
model: milestoneModel
});
taskModel = Backbone.Model.extend();
taskCollection = Backbone.Collection.extend({
url: 'http://task-url',
model: taskModel
});
我希望 taskCollection 成为 each 的一部分,milestoneModel
并在此请求响应到达后立即重置。