首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在加载应用程序时在角应用程序中显示时间计数

如何在加载应用程序时在角应用程序中显示时间计数
EN

Stack Overflow用户
提问于 2018-05-10 12:14:42
回答 1查看 475关注 0票数 0

我想要显示加载程序,将显示时间在几秒钟,同时加载应用程序。这是代码

代码语言:javascript
复制
<body>
  <div class="app-loader">
    <div class="loader-spinner">
      <div class="loading-text"></div>
    </div>
  </div>
  <angular-app></angular-app>
</body>

Javascript

代码语言:javascript
复制
(function loader() {
    var elAppLoader = document.querySelector("app-loader");
    var startTime = new Date();

    var counter = setInterval(() => {
       var seconds = Math.abs((new Date().getTime() - startTime.getTime()) / 1000);
       var elLoadingText = document.querySelector(".loading-text");
       elLoadingText.innerHTML = seconds.toFixed(2) + " s";
    }, 100);

    elAppLoader.addEventListener('app-loaded', function (event) {
      clearInterval(counter);
      elAppLoader.remove();
    });
})();

这很好,每隔100毫秒显示屏幕上的秒数,但当角度开始加载时,计数器会冻结,直到角度被加载。

我怎么才能解决这个问题?这是因为JS是单线程的吗?如果是的话,是否有任何方法来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2018-05-10 12:20:26

是的,这是因为浏览器忙于解析角和所有加载的js。

解决这个问题的方法是使用网络工作者。

在这里阅读更多关于它的信息:webworkers.asp它有一个适合您的情况的工作计时器示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50272769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档