Ich schreibe eine App, die anfängt, einige leere Startdaten für ein Diagramm in den chrome.storage zu instanziieren, da die Erweiterung verwendet wird, werden die Daten aktualisiert.Erläuterung zu lokalem Speicher der Erweiterung von Chrome
Die Art und Weise, wie ich den Code jetzt formatiere, ist, dass der Speicher beim Starten des Codes instanziiert wird. Dies ist ein Problem, da der Code beim Neustart von Chrome neu gestartet wird und alle geschriebenen Daten überschrieben werden.
So Ich denke, ich brauche in einer Art Prüffunktion zu schreiben, wo ich so etwas wie
chrome.storage.sync.get("data", function (result){
if ("data" !== null){
initStorage();
} else {
//do stuff
}
})
Ist dies der richtige Weg über die Festsetzung dieses Problem zu gehen schreiben kann? Ich frage mich, ob das funktioniert, wie der Speicher funktioniert? Verfügt jede Erweiterung über einen eigenen Speicherbereich, so dass dort nichts vorhanden ist, wenn ich noch nichts gespeichert habe?
, wenn ich nur einen Schlüssel gespeichert haben Daten in die Speicherung von meiner Erweiterung genannt, tut Daraus folgt, dass, wenn ich nichts gespart hätte, nichts da wäre? Ich bin mir nicht ganz sicher, wie der Speicher funktioniert. Gibt es nur einen großen Eimer für alles, was den Speicher benutzt, oder hat jedes Ding seinen eigenen separaten Bereich, um Schlüssel zu speichern? –
@Jessie Storage ist ein großer Bucket, den Sie abfragen. Wenn Sie nach "data" fragen, wird es nur "result.data" sein (wenn es existiert, oder sonst leer). Wenn Sie nach '[" data "," somthing "]' fragen, erhalten Sie ein Objekt mit höchstens 2 Schlüsseln. Wenn Sie nach 'null' fragen, wird der gesamte Bucket gelöscht. – Xan