小编Mga*_*auk的帖子

量角器和Angular的$ q.defer

我有这样的角度代码:

$scope.logout = function() {
    console.log(1);
    clearCookies().then(function() {
        console.log(2);
        $state.go('loginScreen');
   });
};

function clearCookies() {
    var defer = $q.defer();
    if(something) {
       sendSomeRequest().then(function() {
           defer.resolve();
       });
    } else {
        defer.resolve();
    }
    return defer.promise;
}
Run Code Online (Sandbox Code Playgroud)

$ scope.logout函数调用元素的ng-click.我有测试:

element(by.css('[class="logout-button"]')).click();
Run Code Online (Sandbox Code Playgroud)

我永远不会在控制台中看到"2",通过我认为"然后"回调在由量角器触发时永远不会被触发.它永远不会做出"$ state.go"动作.也许我错过了什么?感谢您的任何帮助.

deferred angularjs protractor angular-promise

1
推荐指数
1
解决办法
156
查看次数

标签 统计

angular-promise ×1

angularjs ×1

deferred ×1

protractor ×1