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

`importScript` unable to resolve dependency before serviceWorker push event

无法在 serviceWorker 推送承诺解决之前使用 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
    });
});

服务工作者push事件

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 处于活动状态,直到脚本完全加载。