Promise.resolve() / Backbone 中的上下文



我目前正在尝试使用 Promise 来解决从数据库中获取模型的问题。以下是:

Promise.resolve(app.Departments.fetch()).then(function(response){
    console.log(response);
    this.$el.html( this.template( {depts: app.Departments.toJSON()} ));
    this.$form = this.$('#form-employee');
    this.$form.validator();
    return this;
})

考虑所有内容都在渲染方法内部,并且该方法位于 Backbone.View.extend({}) 对象中。问题是在 Promise.resolve() 函数内部,它的上下文与 View 对象内部的上下文不同,它抛出一个错误,不知道这指的是什么。有没有办法传递给承诺.解决这个正确的上下文?

为此使用本地引用:

var self=this;
Promise.resolve(app.Departments.fetch()).then(function(response){
   console.log(response);
   self.$el.html( self.template( {depts: app.Departments.toJSON()} ));
   self.$form = this.$('#form-employee');
   self.$form.validator();
   return self;
})

最新更新