非同期処理の理由で、セットする前に取得されて反映しない。
これを解決。
var str = "ふあまいはりふ";
const getAndSetInSync = async _ => {
// storage.getおよびsetを同期的に処理するためPromiseでラップする
return new Promise(resolve => {
chrome.storage.local.set({ 'uhash': str }, function() {
resolve();
});
})
}
(async _ => {
// 関数を同期呼び出しする
await getAndSetInSync();
})()
chrome.storage.local.get(['uhash'], function(value) {
console.log(value.uhash);
});
参考
https://blog.atori.xyz/posts/chrome-storage-synchronous/