【发布时间】:2021-09-09 08:54:44
【问题描述】:
我正在编写一个 firefox 插件,我需要使用 browser.storage.sync 存储一些值。我需要使用此方法存储和获取多个值。我写了一个简单的代码来获取值
browser.storage.sync.get('a1').then(r1 => {
browser.storage.sync.get('a2').then(r2 =>{
console.log(r1.a1);
console.log(r2.a2);
});
});
问题是我不喜欢这种嵌套的代码结构。我想做这样的事情
// return b1 and b2 as values
let b1 = browser.storage.sync.get('a1').then(r1 => {
return r1.a1;
});
let b2 = browser.storage.sync.get('a2').then(r2 =>{
return r2.a2
});
问题是 b1 和 b2 本身是承诺,我不知道如何返回值。
如何在多个 Promise 中使用多个值?
【问题讨论】:
-
使用 async/await - 或 Promise.all 如果你不能使用 async/await (你可以同时做两个 get's
-
一次读取多个键:browser.storage.sync.get(['a1', 'a2'], r => .........
标签: javascript firefox promise firefox-addon firefox-addon-webextensions