NEWS
creation of states throws warning every second time
-
Newbie question:
I have a simple JavaScript code to create and delete a "test" state:console.log("-----------------------") createState("test", 0); console.log(getState("test").val); setState("test", 4); console.log(getState("test").val); setState("test", 5); console.log(getState("test").val); deleteState("test");somehow - if fails every second time I start the script:

I am on js-controler 5.0.17 and JavaScript adapter 7.1.6. IObroker was fresh started. The test-state was not used by another script.
Can you give me a hint what I'm doing wrong?
-
Newbie question:
I have a simple JavaScript code to create and delete a "test" state:console.log("-----------------------") createState("test", 0); console.log(getState("test").val); setState("test", 4); console.log(getState("test").val); setState("test", 5); console.log(getState("test").val); deleteState("test");somehow - if fails every second time I start the script:

I am on js-controler 5.0.17 and JavaScript adapter 7.1.6. IObroker was fresh started. The test-state was not used by another script.
Can you give me a hint what I'm doing wrong?
@flachdachdecker
Weshalb schreibt ein Flachdachdecker englisch?
Die Funktion createState(id, init) wird asynchron ausgeführt, d.h. sie ist noch nicht fertig, wenn der Wert gleich darauf mit getState(id).val eingelesen wird. Das gleiche gilt für setState(id, val), die ebenfalls asynchron ausgeführt wird. -
@flachdachdecker
Weshalb schreibt ein Flachdachdecker englisch?
Die Funktion createState(id, init) wird asynchron ausgeführt, d.h. sie ist noch nicht fertig, wenn der Wert gleich darauf mit getState(id).val eingelesen wird. Das gleiche gilt für setState(id, val), die ebenfalls asynchron ausgeführt wird.@paul53 weil ich dachte ich errecihe damit mehr potentielle Helfer :-)
Ich habe mir schon sowas gedacht, in der Doku gibts ja auch die entsprechenden async-funktionen. Nur - ich bin blutiger Anfänger und habe keine Ahnung wie man mit async umgeht.
Hast du einen Tipp wie ich den code so umschreiben kann, dass er immer funktioniert?
-
@paul53 weil ich dachte ich errecihe damit mehr potentielle Helfer :-)
Ich habe mir schon sowas gedacht, in der Doku gibts ja auch die entsprechenden async-funktionen. Nur - ich bin blutiger Anfänger und habe keine Ahnung wie man mit async umgeht.
Hast du einen Tipp wie ich den code so umschreiben kann, dass er immer funktioniert?
@flachdachdecker sagte: code so umschreiben kann, dass er immer funktioniert?
createState("test", 0, function() { log(getState("test").val); setState("test", 4, function() { log(getState("test").val); setState("test", 5, function() { log(getState("test").val); deleteState("test"); }); }); });Manche nennen es "Callback-Hölle".
-
@flachdachdecker sagte: code so umschreiben kann, dass er immer funktioniert?
createState("test", 0, function() { log(getState("test").val); setState("test", 4, function() { log(getState("test").val); setState("test", 5, function() { log(getState("test").val); deleteState("test"); }); }); });Manche nennen es "Callback-Hölle".
Super, viele lieben Dank! Das hat geholfen!
Ein guten Rutsch! -
@paul53 weil ich dachte ich errecihe damit mehr potentielle Helfer :-)
Ich habe mir schon sowas gedacht, in der Doku gibts ja auch die entsprechenden async-funktionen. Nur - ich bin blutiger Anfänger und habe keine Ahnung wie man mit async umgeht.
Hast du einen Tipp wie ich den code so umschreiben kann, dass er immer funktioniert?
@flachdachdecker sagte in creation of states throws warning every second time:
weil ich dachte ich errecihe damit mehr potentielle Helfer
1:1000 anders herum

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