0

我正在使用以下代码在使用 chrome Storage API 的click具有 id 的按钮上侦听事件时从欢迎页面保存用户输入值:ok_btn

let submit = document.getElementById("ok_btn");

submit.addEventListener("click", async () => {

    let apiKey = document.getElementById("APIkey").value;
    let letters = document.getElementById("numberOfLetters").value;

    // console.log(apiKey);
    await chrome.storage.sync.set({ 'CustomerApiKey': apiKey }, function () {
        alert("APikey is set.")
    });
    await chrome.storage.sync.set({ 'numberOfLetters': letters }, function () {
        alert("Letters value is set.")

    });
});

执行上述操作只会将值设置为CustomerApiKey. 我也想存储它的值numberOfLetters。我正在使用以下代码来get存储存储中的值:

const getCustomerApiKey = async () => {
   
    return new Promise((resolve, reject) => {
        // Asynchronously fetch all data from storage.sync.
        chrome.storage.sync.get(null, (items) => {
            // Pass any observed errors down the promise chain.
            if (chrome.runtime.lastError) {
                return reject(chrome.runtime.lastError);
            }
            resolve(items);
        });
    });
};
async function key() {
    CustomerApiKey = await getCustomerApiKey();
    // doLetters = await getCustomerApiKey('numberOfLetters');
    console.log(CustomerApiKey);
    // console.log(doLetters);

    main(CustomerApiKey);
};
key();

结果如下:

{CustomerApiKey: 'test_abcdefghijkl'}
CustomerApiKey: "test_abcdefghijkl"
[[Prototype]]: Object

无法弄清楚为什么它没有显示存储中的第二个密钥。

4

0 回答 0