我正在从我的数据库中定义一个backbone.collection。我想执行一个在成功回调中有回调的函数。我怎么能这样做?
function firstFunction(callback){
callback()
}
myCollection = new Backbone.Collection
myCollection.url = /collection
myCollection.fetch({
success: firstFunction(callback)
})
非常感谢你!
答案 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
}