以下代码永远不会命中控制台日志点“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。
我在我的代码中的其他地方有其他成功的承诺,所以我不明白为什么这不起作用。