chrome.storage获取设置顺序

时间:2018-12-08 16:11:38

标签: google-chrome google-chrome-extension google-chrome-storage

我目前正在与chrome.storage.sync.getchrome.storage.sync.set合作。我遇到的问题是我要执行功能

获取->设置->获取->设置

。但实际上是

获取->获取->设置->设置

,这弄乱了我的代码。有什么方法可以使chrome.storage.sync.get和chrome.storage.sync.set按照我设定的顺序运行?

1 个答案:

答案 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 
    });
相关问题