Object-Methode mit ES6 / Bluebird verspricht

Ich benutzenode v0.11.14-nightly-20140819-pre unter Windows mitharmony Flagge

Ich habe ein JavaScript-Objekt mit zwei in seinem Prototyp definierten Methoden:

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 vonService Objekt gibt ein Versprechen zurück.

Wenn ich benutzeUser Objekt wie unten:

let user = new User(args);
user.method1();

this immethod2 von ObjektUser endetundefined bei Aufruf vonthen sobald das Versprechen erfüllt ist.

Ich habe versucht, beide ES6 und Bluebird Umsetzung versprechen.

Warumthis endet alsundefined in diesem Fall

Antworten auf die Frage(4)

Ihre Antwort auf die Frage