我有一个注册的服务工作者成功运行文件 worker.js . 文件 worker.js 从Indexed Db(通过localforage)获取数据并将其写入名为 movement 的输入 . 现在,索引数据库会在用户与网站交互时不断更新,并且我们需要在更新后立即获取这些值(如回调) . 服务工作者第一次运行正常但我需要它继续运行并更新名为 movement 的输入 .

service.js

navigator.serviceWorker.register('app/worker.js')
 .then(function (registration) {
    var serviceWorker;
    if (registration.installing) {
      serviceWorker = registration.installing;
    } else if (registration.waiting) {
      serviceWorker = registration.waiting;
    } else if (registration.active) {
      serviceWorker = registration.active;
    }

if (serviceWorker) {
  console.log("ServiceWorker phase:", serviceWorker.state);
  serviceWorker.addEventListener('statechange', function (e) {
  console.log("ServiceWorker phase:", e.target.state);
  });
}).catch(function (err) {
  console.log('ServiceWorker registration failed: ', err);
});

worker.js

localforage.getItem("vision").then(function (value) {
  $("input[name='csinput']").val(value);
});

我希望worker.js继续运行并从Indexed DB获取数据并将其发送到输入以更新它而不会妨碍页面性能 .