$ timeout立即运行,而不是等待超时

时间:2018-09-18 12:19:26

标签: javascript angularjs timeout settimeout

我正在使用一种显示通知并在特定时间后将其隐藏的服务,但是$ timeout中的代码会立即运行,我知道显示部分有效,因为当我逐行运行它时,我可以看到它,但是一旦我进入超时行,它就会被隐藏,这部分的超时时间设置为10秒。以下是$ timeout部分

    $timeout(() => {
        var domElement = angular.element(
            document.querySelector('#toast-notification')
        );
        domElement.removeClass('show');
    }, data.eventDuration);

1 个答案:

答案 0 :(得分:0)

请注意,data.eventDuration必须10000保持10秒钟,因为$timeout的工作时间是毫秒。

var data = {};
data.eventDuration = 10000;
// now your function should be called after 10 seconds.

$timeout(() => {
    var domElement = angular.element(
        document.querySelector('#toast-notification')
    );
    domElement.removeClass('show');
}, data.eventDuration);