将新的键/值对添加到chrome.storage.sync中的现有键



我是JSON和Chrome扩展开发的新手。我有两个HTML按钮,即"开始"和"停止"。我有以下JavaScript代码:

var storage = chrome.storage.sync;
function setData(key, value) {
    storage.set({ [key]: value });
}
function onClickMarkStartButton() {
    var date = getCurrentDate();
    var start = { 'start': getCurrentTime() };
    setData(date, start);
}
function onClickMarkEndButton() {
    var date = getCurrentDate();
    var end = { 'end': getCurrentTime() };
    setData(date, end);
}

它节省了

6/1/2018 : {
    "start":"16:34"
}

6/1/2018 : {
    "end":"16:40"
}

覆盖以前保存的键/值对,而不是像这样保存

6/1/2018: {
  "start": "16:34",
  "end": "16:40"
}

有什么建议吗?

将结束函数更改为:

function onClickMarkEndButton() {
    var date = getCurrentDate();
    chrome.storage.sync.get(date, function (obj) {
        setData(date, {
            start: obj.start,
            end: getCurrentTime()
        });
    });
}

最新更新