chrome.alarms.onAlarm.addListener
DevTools起動時は正しく動くが、非起動時に途中から動かない場合がある。
Service Worker起動中は正しく動くが、Service Workerが落ちてイベントリスナー内に拘束された変数があるとエラーになって動かなくなると推測される。
デバッグ
拡張一覧のService WorkerからDevToolsを開き、コンソールで以下を叩くと即座にタイマーのイベントが走る。
chrome.alarms.create('test', {when : Date.now()})
chrome.storage.local
基本的な概念
一つのオブジェクトを操作するような感じ。
なので最上位のキーは分割して取得出来る。
ただし{"a":1}を取得しても1が取れるわけではなく、hoge.aという形でアクセスする必要がある。
最上位のキー以下を部分更新は出来ない?
参考
chrome extension StorageArea の仕様
なんか落ちる
Promiseを使って非同期で更新中に参照すると落ちるっぽい?
更新が終わった後に次の処理をすれば問題なく動作する。