NEWS
Array mit Funktionsreferenzen in Objekt speichern
-
Ich versuche ein Array mit Funktionsreferenzen in einem Objekt zu speichern, allerdings werden in dem Objekt nur leere Felder angelegt. Muss ich dabei etwas beachten?
function testFnc1() {} function testFnc2() {} createState( 'ActiveRoomsTimeCtrl', { name: 'Räume mit Zeitsteuerung', type: 'array', role:"state"}, function (obj) {prepareArrayRooms()} ); } function prepareArrayRooms() { if(null == getState('ActiveRoomsTimeCtrl').val) { var init = [testFnc1, testFnc2]; setState('ActiveRoomsTimeCtrl', init, true); } }In der ObjectView wird allerdings nur ein leeres Array angezeigt. Die leeren Felder erhalte ich auch, wenn ich das Objekt wieder auslesen will.

Background: Ich möchte, je nach selektierten Buttons (Räumen) in vis, Funktionen stündlich aufrufen. Dafür möchte ich die Funktionen in ein array ein-/austragen und dieses Array stündlich durchgehen und die Funktionen aufrufen.
schedule("01 * * * *", timerCallback); function timerCallback() { var activeRooms = getState('ActiveRoomsTimeCtrl').val; activeRooms.forEach(function(element) { if (element != 0) { element(); } }); } -
Eine einfach Lösung wäre die Funktion als string zu übergeben und dann über
switch(func){ case 'set1': set1(args); break; case 'get1': return get1(); break; }die entsprechende Funktion aufzurufen.
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