代码之家  ›  专栏  ›  技术社区  ›  Dolphin

chrome如何在谷歌chrome扩展程序开发代码中从chrome.storage.local中获取价值

  •  1
  • Dolphin  · 技术社区  · 3 年前

    我使用此代码来获取 chrome.storage.local 值:

    function getCachedAuthToken(times){
        var cachedToken = "";
        if(times > 3){
            return "";
        }
        chrome.storage.local.get('cruiseToken', (result) => {
            if (result.cruiseToken) {
                console.log("token:" + result.cruiseToken);
                cachedToken = result.cruiseToken;
                return result.cruiseToken;
            } else {
                console.log("token:wwwww");
                fetchAuthToken("+8615683761628","12345678");
                ++times;
                getCachedAuthToken(times);
            }
        });
        console.log("cachedToken:" + cachedToken);
        return cachedToken;
    }
    

    现在我确信 result.cruiseToken 具有字符串值。但外部 cachedToken 价值总是“”。我该怎么做才能获得内在价值?

    1 回复  |  直到 3 年前
        1
  •  1
  •   zoldxk    3 年前

    尝试替换 cachedToken = result.cruiseToken; 通过 cachedToken=JSON.stringify(obj);
    并确保在清单中定义它:

        "permissions": [
          "unlimitedStorage", 
          "clipboardRead", 
          "clipboardWrite", 
          "nativeMessaging" , 
          "storage"
        ],