将新的 key/value 对添加到 chrome.storage.sync 中的现有密钥

Adding new key/value pair to existing key in chrome.storage.sync

我是 JSON 和 Chrome 扩展开发的新手。 我有两个 HTML 按钮,即 'Start' 和 'Stop'。我有以下 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"
}

覆盖之前保存的key/value对,而不是像这样保存

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()
        });
    });
}