Объектный метод с обещаниями ES6 / Bluebird
я используюузел v0.11.14-nightly-20140819-pre на Windows сharmony
флаг.
У меня есть объект JavaScript с двумя методами, определенными в его прототипе:
function User (args) {
this.service= new Service(args);
}
User.prototype.method2 = function (response) {
console.log(this); // <= UNDEFINED!!!!
};
User.prototype.method1 = function () {
.............
this.service.serviceMethod(args)
.then(this.method2)
.catch(onRejected);
};
function onRejected(val) {
console.log(val);
}
serviceMethod
изService
Объект возвращает обещание.
Когда я используюUser
объект как ниже:
let user = new User(args);
user.method1();
this
вmethod2
объектаUser
оказываетсяundefined
когда вызываетсяthen
однажды обещание выполнено.
Я пытался использовать обаES6 а такжепевчая птица обещание реализации.
Зачемthis
в конечном итогеundefined
в этом случае?