Chrome操作系统chrome.storage.local.get未正确获取项目

时间:2017-11-21 23:06:59

标签: javascript storage google-chrome-app

我发现了一些类似于我的帖子,但没有一个是完全相同或者我正在寻找的答案。在我的Chrome应用中,我存储了类似的项目

chrome.storage.local.get("AccountList", function(results) {
  results.AccountList[curAccItem] = {
    Website: newItemInfo.Website,
    Username: newItemInfo.Username,
    Password: newItemInfo.Password,
    Id: newItemInfo.Id
  };

  chrome.storage.local.set(results, function() {console.log("Data Saved");});
});

上面的代码工作得很好,但当我在AccountList中加载所有项目时,如下面的代码

curLoadedAcc = 0;
chrome.storage.local.get("AccountList", function(results) {
  while (curLoadedAcc < results.AccountList.length) {
    accountInfo = {
      Website: results.AccountList[curLoadedAcc].Website,
      Username: results.AccountList[curLoadedAcc].Username,
      Password: results.AccountList[curLoadedAcc].Password,
      Id: results.AccountList[curLoadedAcc].Id
    };
    console.log("Account Info:" + accountInfo);
    curLoadedAcc = curLoadedAcc + 1;
  }
});

console.log永远不会运行。几乎就像while循环本身根本不运行一样。当我使用

console.log(results.AccountList[curLoadedAcc]);

它返回undefined。我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

我设法最终得到了我正在寻找的结果 以下代码段。

list = document.getElementById("l");

objects = {
  Object1: {},
  Object2: {},
  Object3: {}
};

displayedObjects = 0;
while (displayedObjects < Object.keys(objects).length) {
  newItem = document.createElement("li");
  newItem.innerHTML = "Object" + displayedObjects;
  list.appendChild(newItem);
  displayedObjects = displayedObjects + 1;
}
ul {
  width: 100%; height: 100%;
  list-style-type: none;
  position: absolute;
  left: 0; top: 0;
  padding: 0; margin: 0;
  padding-left: 1%;
}
<ul id="l"></ul>