gpt4 book ai didi

javascript - `importScript` 无法在 serviceWorker 推送事件之前解决依赖关系

转载 作者:行者123 更新时间:2023-12-03 05:32:22 25 4
gpt4 key购买 nike

serviceWorker 推送 promise 解决之前,无法使用 importScript 解决依赖关系;有人可以建议更好的方法来解决这个问题吗?

ServiceWorker fetch 事件:

var iDB; // Global Variable
self.addEventListener("fetch", function(e) {
self.importScripts("dexie.min.js");
var o = new Dexie('database_name');
o.version(1).stores({
iDBStore: "++id,adspotkey"
iDB = o
});
});

服务工作人员推送事件

self.addEventListener("push", function(e) {
e.waitUntil(getDetails().then(function(ex) {
try {
e = wpSDK.iDB;
return e.iDBStore.where("id").above(0).toArray().then(function(ox) {
console.log(ox);
}
}));
});

注意:

最佳答案

您应该像这样在后台运行 importScripts

self.importScripts("dexie.min.js");
var iDB; // Global Variable
self.addEventListener("fetch", function(e) {
var o = new Dexie('database_name');
o.version(1).stores({
iDBStore: "++id,adspotkey"
iDB = o
});
});

importScripts 是一种同步方法。因此,当您在后台运行此方法时,它将阻止 ServiceWorker 处于事件状态,直到脚本完全加载为止。

关于javascript - `importScript` 无法在 serviceWorker 推送事件之前解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40887162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com