我有3个模型,我需要在我启动应用程序
之前成功获取服务器的数据ModelA.fetch()
ModelB.fetch()
ModelC.fetch()
我将使用 $.Deferred()
将其用于此操作,还是在spine.js中有更好的选择?
我最终得到了此实现:
为每个模型创建一个延期
@modela = new $.Deferred()
@modelb = new $.Deferred()
@modelc = new $.Deferred()
然后绑定模型获取
时绑定事件ModelA.bind 'refresh', => @modela.resolve()
ModelB.bind 'refresh', => @modelb.resolve()
ModelC.bind 'refresh', => @modelc.resolve()
并最终解决所有完成后的承诺
$.when(
@modela, @modelb, @modelc
).then(
@appReady,
@appError
)
当所有模型成功获取时,请致电AppReady。