NEWS
Im setObjectNotExists Callback kann getState nicht ausgeführt werden?
-
Hallo Zusammen,
ich habe schon einige Varianten ausprobiert aber leider komme ich nicht auf ein vernünftiges Ergebnis:
adapter.setObjectNotExists( statename, { ... }, (err, id) => { ... // Initial Sync adapter.getState(`adapter.${adapter.instance}.${statename}`, (err, state) => { if (err) { adapter.log.error(`Read States for Initial Sync occurred an Error: ${err}`); return; } ... if (state.ack === false) { ... } else { ... }Ich hoffe ich stehe nicht einfach auf der Leitung oder sowas. Wenn ich in diesen Beispielcode das getState ausführe wird der Callback aufgerufen aber err und state sind jeweils null. Dies ist immer so wenn der State noch nicht existiert hat.
Müsste da nicht wenigstens im err was drinnen stehen? Und müsste das nicht funktionieren es wird ja der Callback vom Erstellen des Objectes ausgeführt
Kann mit da bitte mal jemand auf die Sprünge helfen?
Danke
-
Hallo Zusammen,
ich habe schon einige Varianten ausprobiert aber leider komme ich nicht auf ein vernünftiges Ergebnis:
adapter.setObjectNotExists( statename, { ... }, (err, id) => { ... // Initial Sync adapter.getState(`adapter.${adapter.instance}.${statename}`, (err, state) => { if (err) { adapter.log.error(`Read States for Initial Sync occurred an Error: ${err}`); return; } ... if (state.ack === false) { ... } else { ... }Ich hoffe ich stehe nicht einfach auf der Leitung oder sowas. Wenn ich in diesen Beispielcode das getState ausführe wird der Callback aufgerufen aber err und state sind jeweils null. Dies ist immer so wenn der State noch nicht existiert hat.
Müsste da nicht wenigstens im err was drinnen stehen? Und müsste das nicht funktionieren es wird ja der Callback vom Erstellen des Objectes ausgeführt
Kann mit da bitte mal jemand auf die Sprünge helfen?
Danke
@dkleber89 , hast du es einmal mit adapter.setForeignState versucht ? Oder bei setState nur den state ohne Instanz mitgeben.
Bsp.: adapter.setForeignState("huhu.0.mystatus", true) oder adapter.setState("mystatus", true) -
Hallo Zusammen,
ich habe schon einige Varianten ausprobiert aber leider komme ich nicht auf ein vernünftiges Ergebnis:
adapter.setObjectNotExists( statename, { ... }, (err, id) => { ... // Initial Sync adapter.getState(`adapter.${adapter.instance}.${statename}`, (err, state) => { if (err) { adapter.log.error(`Read States for Initial Sync occurred an Error: ${err}`); return; } ... if (state.ack === false) { ... } else { ... }Ich hoffe ich stehe nicht einfach auf der Leitung oder sowas. Wenn ich in diesen Beispielcode das getState ausführe wird der Callback aufgerufen aber err und state sind jeweils null. Dies ist immer so wenn der State noch nicht existiert hat.
Müsste da nicht wenigstens im err was drinnen stehen? Und müsste das nicht funktionieren es wird ja der Callback vom Erstellen des Objectes ausgeführt
Kann mit da bitte mal jemand auf die Sprünge helfen?
Danke
@dkleber89 das Problem ist dass getState automatisch auf deine Adapter States zu greift, und du nicht vorher den namespace angeben musst. Sonst wie schon erwähnt getForeignState, ist jedoch nicht nötig wenn es sich um deine eigenen States handelt
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden