0
我有一个轨道模型和轨道集合。该模型本身具有播放单曲的功能play()。当单个轨道(按列表顺序)完成时,该集合应该能够逐一播放每个轨道。骨干foreach等待
型号:
app.Track = Backbone.Model.extend({
defaults: {...},
initialize: {...},
play: function(playlist) {
if(finished && playlist) {
Backbone.pubSub.trigger('finishedPlaybackLoadNext')
} else {
Backbone.pubSub.trigger('finishedPlayback')
}
},
})
收藏:
var TrackList = Backbone.Collection.extend({
model: app.Track,
nextOrder: function() {...},
comparator: function(track) {...},
playAll: function() {
this.models.forEach(function(item) {
item.play(true); //true = play as playlist
});
}
})
正如预期的那样在foreach不等到该剧在列表中的每个单独的模型来完成。我该如何实现这种等待?
编辑:我正在使用全局触发器/用户事件在不同视图中共享它们。
Backbone.pubSub = _.extend({}, Backbone.Events);