当前位置: 首页 > 知识库问答 >
问题:

在从Cordova启动deviceready之前初始化应用程序

蒙才
2023-03-14

我有一个场景,我试图在Cordova的deviceready事件上初始化我的应用程序。现在,这个初始化序列需要几秒钟的时间来执行。这导致总发射时间远大于预期。我的问题是,是否可以简单地与即将推出的Cordova API和插件并行运行此初始化序列?

注意:初始化没有利用API或插件中的任何内容,所以我不能简单地在加载时立即运行它,而不是在onDeviceReady上运行它吗?

共有1个答案

濮嘉茂
2023-03-14

假设您的应用程序的初始化使用promise,您可以将deviceready侦听器包装在一个promise中,并使用Promise.all与您的侦听器并行初始化:

const deviceReady = new Promise((resolve) => {
  document.addEventListener("deviceready", resolve, false);
});

function initializeApp() {
  // some async initialization (returns a promise)
}

Promise.all([deviceReady, initializeApp()])
  .then(() => {
    // ready to start
  });
 类似资料:
  • 我正在将Spring Boot应用程序从版本1.5.6升级到2.1.1。当我启动应用程序时,它会卡在这一行: 当我点击这个网址:http://localhost:8888/actuator/health,我得到 同样,当我点击这个网址:http://localhost:8888/swagger-ui.html,我看到斯瓦格用户界面。 但是我的主应用程序没有启动。知道为什么它卡住了吗?

  • 我很沮丧...什么是Application EventMulticaster,如何初始化或刷新它?为什么需要它? 我必须如何或在哪里调用此刷新操作?!我没有胶水。这是我尝试在服务器上运行的第一个Grails应用程序。在Localhost中,一切都运行良好。 系统(开发、工作): Mac 系统(生产,不工作!) Ubuntu Server 14.04 LTS Grails版本:3.3.0 Groov

  • 我有以下情况。在我的微服务[MA]中,我希望在应用程序启动后或基于某个事件初始化/销毁一些bean。想象一下,还有另一个微服务[MB],它保存关于ContentStores的信息。在MA启动之后,我想向MB请求contentStore条目,基于此,我想根据需要创建这么多bean。可能会有一个事件触发storrecreated/storredeleted,在这种情况下,我需要销毁bean。 我目前不

  • 有一个简单的应用程序,可以获取。我想在应用程序初始化之前获取gps位置。在我看来,GPS位置是异步更新的,我确实会在后台加载应用程序屏幕,同时弹出一个问题:“允许应用程序使用您当前的位置?” 那么,我如何进行回调(抱歉,来自Ruby/JS后台)以等待获得当前位置。 代码: in

  • 问题内容: 我有一个AngularJs应用程序,我想在其中一开始就加载消息和应用程序版本,并将它们保存在本地存储中,然后再在控制器中使用它们。我现在所拥有的是每个控制器中的服务调用(目前为三个): 我只想获取一次应用程序版本并将其存储在此处。我不必每次都检查版本,对(如果新版本中添加了新消息)? 我发现使用$routeProvider的建议,但我的应用程序不是SPA。所以我需要其他想法/建议。对你

  • 本文向大家介绍Spring MVC深入学习之启动初始化过程,包括了Spring MVC深入学习之启动初始化过程的使用技巧和注意事项,需要的朋友参考一下 前言 虽然从学java的第一个程序——helloworld至今,已经有好几个年头了。当时自己找资料,看视频,学习了java的输入输出流,多线程,网络编程等等, 而三大框架(Struts、Hibernate、Spring)基本只是开了个头就出来实习了