为什么$ timeout在promise解析中使用时不起作用?

时间:2017-02-23 15:53:44

标签: angularjs angular-translate

我尝试向用户显示一条消息,该消息将在6秒后使用angular $ timeout消失。不幸的是,我无法将其与angular-translate(我用于翻译)结合使用。

所以这段代码有效(没有$ translate服务):

this.showMessage = function(type, text) {
    message.isVisible = true;
    message.type = type;
    message.text = text;
    $timeout(this.hideMessage, 6 * 1000);
}

但是当我在$ translate服务响应中进行调用时,它没有(我已经检查过承诺是否正确解决):

this.showMessage = (type, translationId) {
    $translate(translationId).then(function (text) {
        //This works just fine.
        message.isVisible = true;
        message.type = type;
        message.text = text;
        //But hideMessage never gets called.
        $timeout(this.hideMessage, 6 * 1000);
    });
}

有人可以帮忙吗?谢谢。

0 个答案:

没有答案