我目前正在尝试使用 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;
})