首页 > 解决方案 > JS - 如果某事比 x 花费更长的时间,那么就做某事

问题描述

如果一个动作(数据加载)花费的时间比某个特定时间长,是否可以做某事?

例如,您的页面上有一些加载视觉元素,以防数据加载需要比正常时间更多的时间。99% 的加载是即时的,所以这个元素只是 FLASH,这有点令人讨厌。

是否可以执行以下操作:如果加载时间超过一秒 => 显示加载器?

谢谢

标签: javascripttypescript

解决方案


是的,通过足够高范围的变量和超时的组合。

一些伪代码来说明这一点:

var showLoader = true;

myAjaxCall({
    'onSuccess': function() {
        showLoader = false;
    }
});

window.setTimeout(function() {
    if(showLoader) {
        // Show loader here
    }
}, 1000); // 1000 milliseconds = 1 second

应该注意的是,这假设您的 ajax 是异步的。


推荐阅读