Browse Source

fix: storage read/write in chrome extension

(cherry picked from commit bae9a7fec0c98807b3c5c3598f321135ccf6c9d5)
20230320
Jixun 3 years ago
committed by MengYX
parent
commit
5d3d8ce485
No known key found for this signature in database GPG Key ID: E63F9C7303E8F604
  1. 14
      src/utils/storage/ChromeExtensionStorage.ts

14
src/utils/storage/ChromeExtensionStorage.ts

@ -8,14 +8,20 @@ export default class ChromeExtensionStorage extends BaseStorage {
} }
protected async load<T>(name: string, defaultValue: T): Promise<T> { protected async load<T>(name: string, defaultValue: T): Promise<T> {
const result = await chrome.storage.local.get({ [name]: defaultValue }); return new Promise((resolve) => {
chrome.storage.local.get({ [name]: defaultValue }, (result: any) => {
if (Object.prototype.hasOwnProperty.call(result, name)) { if (Object.prototype.hasOwnProperty.call(result, name)) {
return result[name]; resolve(result[name]);
} else {
resolve(defaultValue);
} }
return defaultValue; });
});
} }
protected async save<T>(name: string, value: T): Promise<void> { protected async save<T>(name: string, value: T): Promise<void> {
return chrome.storage.local.set({ [name]: value }); return new Promise((resolve) => {
chrome.storage.local.set({ [name]: value }, resolve);
});
} }
} }

Loading…
Cancel
Save