NEWS
1 DP von mehreren wird nicht aktualisiert [gelöst]
-
@paul53 sagte in 1 DP von mehreren wird nicht aktualisiert:
Wert kann nur bei Einzel-Trigger verwendet werden.
Sicher?
Die einzelnen Objekte werden doch nur für das Abonnieren des Events benötigt.
Bei Auslösung istobj
vorhanden - und das ist das jeweils auslösende Objekt, für das auch der Wert ermittelt werden kann.on({id: [].concat(['0_userdata.0.xxx']).concat(['0_userdata.0.Anwesenheit.yyy']), change: "ne"}, async function (obj) { });
Funktioniert bei mir jedenfalls bisher einwandfrei
-
@codierknecht sagte: Sicher?
Ja, zumindest dann, wenn der Wert des Trigger-Datenpunktes zu weiteren Berechnungen verwendet wird. Man kann nicht unterscheiden, von welchem Datenpunkt
Wert
kommt. -
@paul53 kannst du das näher erläutern? ich sehe den fehler nicht
-
@devdracon sagte: kannst du das näher erläutern?
Habe ich bereits:
@paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:
die beiden Variablen enthalten stets den identischen Wert!
Es wird nicht unterschieden, von welchem Datenpunkt
Wert
stammt. Oder anders: Die VariableWert
wird mit identischem Wert auf zwei Variablen aufgeteilt. -
@paul53
Ich habe da mal was zusammengeklöppelt.
Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.
Was nicht geht, ist das Ermitteln des Gerätenamens usw. -
@paul53 verstehe. ich habe mir den inhalt der Variablen in ein debug schreiben lassen - du hast recht. wie würde ich das korrekt ändern müssen?
s.u. ,denke ich. Post war nahezu zeitgleich
-
@codierknecht sagte: Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.
Ja, aber man weiß nicht, zu wem er gehört, es sein denn, man wertet zusätzlich die ID aus, etwa so:
-
@devdracon sagte: wie würde ich das korrekt ändern müssen?
Wie hier gezeigt.
-
@devdracon
Mach das was @paul53 vorgeschlagen hat: Verwende für jedes Deiner 2 Objekte einen separaten Trigger.
Du triggerst auf 2 Objekte und musst die in der Ereignisbehandlung wieder unterscheiden.
Das wird extrem unübersichtlich! -
@paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:
Ja, aber man weiß nicht, zu wem er gehört ...
Das ist natürlich korrekt.
Dann habe ich Dich lediglich falsch verstanden.es sein denn, man wertet zusätzlich die ID aus, etwa so
Und das ist wieder unnötiger Aufwand.
-
@codierknecht sagte: Und das ist wieder unnötiger Aufwand.
Deshalb besser zwei getrennte Trigger.
-
@paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:
Deshalb besser zwei getrennte Trigger.
Und damit wären wir wieder bei meinem Lieblingsthema: CleanCode und "Separation of concerns"
https://clean-code-developer.de/die-grade/orangener-grad/#Separation_of_Concerns_SoC
Wenn man "Klasse" mit "Trigger" ersetzt, gilt auch:
https://clean-code-developer.de/die-grade/orangener-grad/#Single_Responsibility_Principle_SRP -
@devdracon sagte: das nachfolgende Blockly ist falsch
Wie sieht die Änderung aus?
-
@paul53 ...das ist das geänderte Blockly: