起動時にサーバーからユーザーのリストと特権グループをロードする必要があるアプリがあります。
これは私がこれまでに持っているものです:
userApp.AppRouter = new (Backbone.Router.extend
startApp: ->
self = @
@users = new userApp.UserCollection()
@users.fetch({
success: (data, response) ->
# Need to find a way to make drawApp be called when this and the other fetch finish
error: (data, response) ->
console.log( "Error fetching users" )
})
@privGroups = new userApp.GroupCollection()
@privGroups.fetch({
success: (data, response) ->
self.drawApp()
error: (data, response) ->
console.log( "Error fetching groups" )
console.log( data )
console.log( response )
})
drawApp: ->
userManager = new userApp.App(@users, @privGroups)
)
現在、privGroup のフェッチが終了したときに drawApp 関数を呼び出しているだけです。通常は 2 番目に行われるためですが、常にではありません。両方が終了したら、drawApp を呼び出します。これには、何らかの方法で Backbone.Sync をオーバーライドしてjQuery.whenを使用することが含まれると考えています。
どんな考えでも役に立ちます。