我目前正在与chrome.storage.sync.get
和chrome.storage.sync.set
合作。我遇到的问题是我要执行功能
获取->设置->获取->设置
。但实际上是
获取->获取->设置->设置,
,这弄乱了我的代码。有什么方法可以使chrome.storage.sync.get和chrome.storage.sync.set按照我设定的顺序运行?
答案 0 :(得分:0)
您可以使用Promises按需要的顺序执行异步调用
function getStorage (key) {
return new Promise((resolve, reject) => {
chrome.storage.sync.get(key, (value)=>{
if(chrome.runtime.lastError){
return reject(chrome.runtime.lastError);
}
return resolve(value);
})
});
}
function setStorage (item) {
return new Promise((resolve, reject) => {
chrome.storage.sync.set(item, ()=>{
if(chrome.runtime.lastError){
return reject(chrome.runtime.lastError);
}
return resolve();
})
});
}
getStorage('key')
.then(value => {
setStorage({key2:"value2"})
})
//...
.catch(err => {
//handle err
});