【发布时间】:2012-08-23 12:16:42
【问题描述】:
我对 Backbone.js 有点陌生,但它可以为我做的一切都给我留下了深刻的印象,现在我正在努力学习模式和最佳实践。
我有两个收藏:
var CollA = Backbone.Collection.extend({
model: ModelA,
url: '/urlA'
});
var CollB = Backbone.Collection.extend({
model: ModelB,
url: '/urlB'
});
var collA = new CollA;
var collB = new CollB;
在加载我的应用时,我需要从服务器获取这两个集合,并在确保两个获取都已完成时运行一些引导代码。
我现在是这样做的:
collA.fetch({success: function() {
collB.fetch({success: function() {
// run the needed code here.
}});
}});
这行得通,保证所需的代码只有在两次提取都成功完成后才能运行。但这显然是低效的,因为提取是连续运行的,一个接一个。
什么是更好的模式来执行此操作,并行运行提取,然后在两个提取都成功完成后运行一些代码?
【问题讨论】: