次のコードは、コンソール ログ ポイント「post4」または「post3」にヒットしません。それは約束を返しますが、その約束から連鎖しようとすると、連鎖は決して続きません。
loginPage.prototype.doLogin = function(isGood){
var d = webdriver.promise.defer();
this.driver.findElement(webdriver.By.css('input.loginbutton')).click(function() {
if(isGood){
//return new statementPage;
console.log("post3")
d.fulfill(new statement.statementPage(this.driver));
} else {
console.log("post4")
d.fulfill(this);
}
});
console.log("post5")
return d.promise;
}
私が呼び出すlogin.doLogin(true).then(function(){console.log("foo")})
と、post3、post4、または foo はログに記録されません。
コードの他の場所で他の約束が正常に機能しているため、これが機能しない理由がわかりません。