Backbone - Clean/efficient 在触发事件之前等待获取多个事件的方式

Backbone - Clean/efficient way to wait for multiple events to be fetched before triggering event

我有一个我需要操作的集合,但我需要等待模型被获取后再操作。有人可以建议一个干净的方法来完成这个吗?人们使用 backbone collections/models 是否有类似承诺的方式?

我能想到的是这样的:

initialize: ->
    @listenTo @model, 'sync', @modelFetched
    @listenTo @collection, 'sync', @collectionFetched

modelFetched: ->
    @isModelFetched = true
    if @isCollectionFetched
        doTheThing()

collectionFetched: ->
    @isCollectionFetched = true
    if @isModelFetched
        doTheThing()

我见过这样的帖子 (Backbone.js: Elegant way to check if data ready and if the dataset is empty) 使用 jQuery deffered - 我的问题是我的模型和集合是在一个控制器文件中提取的,该文件提供给这个文件,这是我的观点,这就是为什么我有听众依附于他们

我最后只是对我的渲染方法进行了同步检查。

initialize: ->
    @listenTo @model, 'sync', @render
    @listenTo @collection, 'sync', @render

render: ->
    @doTheThing() if @model.synced and @deploys.synced