Jak używać chrome.storage w rozszerzeniu chrome, używając wartości zmiennej jako nazwy klucza?

Próbuję użyć lokalnego magazynu / synchronizacji magazynu chrome (chrome.storage) dla rozszerzenia, do przechowywania wpisów danych, dla wielu różnych wpisów. Wydaje mi się, że nie potrafię znaleźć poprawnej składni. Chcę tylko przechowywać informacje jako ciągi. Szukałem i nie mogę znaleźć niczego, co by działało.

To właśnie dla mnie działa w tej chwili przy użyciu normalnej techniki localStorage:

var imageName = "Red Cat 5";
var myDescription = "A nice kitty";

localStorage.setItem (imageName, myDescription);
console.log(localStorage[imageName]);

To działa i pozwala mi ustawić klucz z istniejącej zmiennej. Jak mogę to zrobić za pomocą chrome.storage.local.set? Próbowałem tego bez powodzenia:

var imageName = "Red Cat 5";
var myDescription = "A nice kitty";

chrome.storage.local.set({imageName: myDescription}, function()
{console.log('success?');});

chrome.storage.local.set({imageName: myDescription}, function()
{chrome.storage.local.get(imageName, function(r){console.log(r.imageName);});});

Każda pomoc jest bardzo ceniona. Dzięki!

----- AKTUALIZUJ PONIŻEJ -----

Dziękuję za wyjaśnienie kodu. Mam nadzieję, że to pomoże każdemu. Wydaje się, że jest niewiele informacji na ten temat! Twoja odpowiedź pomogła mi to wymyślić:

var nameOne = "al";
var nameTwo = "bob";
var nameThree = "carl";
var nameFour = "dan";

var dataObj = {};

dataObj[nameOne] = nameTwo;
dataObj[nameThree] = nameFour;

storage.set(dataObj);

storage.get(dataObj, function(result)
{
console.log(result[nameOne]);
console.log(result[nameThree]);
});

questionAnswers(2)

yourAnswerToTheQuestion