Backbone.js:从获取成功中调用一个具有参数的函数

时间:2016-06-21 16:03:51

标签: backbone.js

我正在从我的数据库中定义一个backbone.collection。我想执行一个在成功回调中有回调的函数。我怎么能这样做?

 function firstFunction(callback){
  callback()
}

myCollection = new Backbone.Collection
myCollection.url = /collection
myCollection.fetch({
  success: firstFunction(callback)    
})

非常感谢你!

1 个答案:

答案 0 :(得分:1)

如果你想在成功时执行一些回调函数,你可以在你的View中订阅'sync'事件(如果你在那里调用fetch):

var view = new Backbone.View.extend({
  initialize: function() {
    this.listenTo(this.collection, 'sync', this.yourFirstCallback);
  },
  yourFirstCallback: function() {
    //code of yourFirstCalback here
    this.yourSecondCallback();
  },
  yourSecondCallback: function() {
    //code of yourSecondCallback
  }
});

但实际上这并不是很清楚你到底想要什么。

如果您想使用'success'属性,可以通过两种方式实现。 1.您可以直接为“成功”指定回调函数:

youCollection.fetch({
  success: yourFirstCallback
});
function youFirstCallback(collection, response, options) {
  //do your staff here
  yourSecondCallback();
}
function yourSecondCallback() {
  //do your staff here
}

2。您可以在'success'回调函数中执行回调函数:

youCollection.fetch({
  success: function(collection, response, options) {
    //what you want to do first is here
    yourSecondCallback();
  }
});
function youCallback() {
  //do your staff here
}