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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了$ timeout立即运行,而不是等待超时相关的知识,希望对你有一定的参考价值。

我正在开发一个显示通知的服务,并在一段特定的时间后隐藏它,但是$ timeout中的代码立即运行,我知道显示部分有效,因为当我逐行运行时我可以看到它,但是当我进入超时线时它被隐藏,此部分的超时设置为10秒。下面是$ timeout部分

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

请注意,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);

以上是关于$ timeout立即运行,而不是等待超时的主要内容,如果未能解决你的问题,请参考以下文章

setTimeout 立即运行,而不是等待延迟值

如何要求信号量立即返回而不是等待信号?

Kafka学习笔记 --- Kafka的TimingWheel时间轮/调度笔记

Kafka学习笔记 --- Kafka的TimingWheel时间轮/调度笔记

MySQL超时配置

在等待期望时使用 XCTFail 并不能防止超时