Объектный метод с обещаниями 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 в этом случае?

Ответы на вопрос(2)

Ваш ответ на вопрос