Backbone - 在触发事件之前等待获取多个事件的干净/有效方式

时间:2015-04-08 21:50:46

标签: backbone.js coffeescript

我有一个我需要操作的集合,但我需要等待一个模型被提取之前这样做。有人可以提出一个干净的方法来完成这个吗?是否有类似承诺的方式人们使用骨干集合/模型做到这一点?

我能想到的就是:

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 - 我的皱纹是我的模型和集合是在一个控制器文件中提取的,该文件会输入到这个文件中,这是我的观点这就是为什么我有听众的原因

1 个答案:

答案 0 :(得分:1)

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

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

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