我正在尝试实现一些看起来对 Backbone 来说应该相对微不足道的东西,但它不起作用。我正在根据用户的操作用系列填充图表。代码如下。
假设用户快速添加了两个系列。或者一条路线同时触发两个系列。常量是在第一个返回之前触发第二次获取。在这种情况下,“fetching”被记录了两次,而“fetched”只被记录了一次。这是预期的行为,如果不是,我应该如何构建我的代码以使其工作?
# Series model
class Series extends Backbone.Model
initialize: (options) ->
_.bindAll @
@endpoint = state?.getEndpoint()
url: ->
[localApiUrl, 'metrics', @endpoint, @.get('id')].join('/')
class SeriesCollection extends Backbone.Collection
model: Series,
initialize: ->
_.bindAll @
@bind 'add', @fetched
fetchData: ( opts ) =>
console.log('fetching')
@series = new Series({ id: opts.id })
@series.fetch
success: (model, response) =>
@.add({
id: @series.get('id')
name: @series.get('id')
data : @series.get('ts')
marker:
radius: 2
turboThreshold: 10000
dataGrouping:
enabled: false
})
fetched: () ->
console.log('fetched', @)