我有一个场景,我尝试在 Cordova 的 deviceready 事件上初始化我的应用程序。现在,这个初始化序列需要几秒钟的时间来执行。这导致总启动时间比预期长得多。我的问题是,是否可以简单地与即将推出的 Cordova API 和插件并行运行此初始化序列?
注意:初始化不会利用 API 或插件中的任何内容,因此我是否可以直接在 onLoad 而不是 onDeviceReady 上立即运行它?
最佳答案
假设您的应用的初始化使用 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
});
关于javascript - 在 Cordova 触发 deviceready 之前初始化应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908517/