In meinem Fall habe ich ein Objekt an ein Promise übergeben. Innerhalb des Promise habe ich weitere Schlüssel/Werte dem Objekt hinzugefügt und als es fertig war, hat das Promise das Objekt zurückgegeben.
Allerdings habe ich bei der Überprüfung übersehen, dass das Promise das Objekt zurückgab, bevor es vollständig fertig war ... daher hat der Rest meines Codes versucht, das aktualisierte Objekt zu verarbeiten und die Daten waren noch nicht vorhanden. Aber wie oben schon erwähnt, im Konsolenfenster sah ich das vollständig aktualisierte Objekt, konnte jedoch nicht auf die Schlüssel zugreifen - sie wurden als undefined zurückgegeben. Bis ich das sah:
console.log(obj) ;
console.log(obj.newKey1) ;
// im Konsolenfenster zurückgegeben
> Object { origKey1: "blah", origKey2: "blah blah"} [i]
origKey1: "blah"
origKey2: "blah blah"
newKey1: "this info"
newKey2: "that info"
newKey3: " more info"
> *undefined*
Das [i] ist ein kleines Symbol, als ich darüber schwebte, stand dort Der Objektwert links wurde beim Protokollieren geschnappt, der Wert unten wurde gerade erst ausgewertet
. Dann wurde mir klar, dass mein Objekt ausgewertet wurde, bevor das Promise es vollständig aktualisiert hatte.