JavaScript: Variablenfunktionen und mehrere Parameter (Requesthandler)

somunium

somunium

Aktives Mitglied
Thread Starter
Dabei seit
16.01.2008
Beiträge
523
Reaktionspunkte
35
Hallo.

Prolog:
Ich bastel gerade an einem Requesthandler in JavaScript.
Da eine große Menge an verschiedenen Funktionen durch die Request ausgelöst werden, nutze ich Variablenfunktionen.
(Kleiner Link zu dem Thread, wo ich die gefunden hab)

Als Requestrückgabe hab ich bisher ein Array genutzt (mit JSON schön verpackt, und im JS dann wieder entpackt). Folgendes Schema hab ich verwendet:
Code:
rueckgabe['funktionsname'] = array('parameter1' => 'p1', 'parameter2' => 'p2')

Mit einer for-in-Schleife wurde das ganze dann durchlaufen, und hab dann den Funktionen das array mitgegeben:
Code:
for(var funktion in rueckgabe){
  funktion(rueckgabe[function]);
}
(Natürlich mit Fehlerhandling, etc, blabla).

Das eigentliche Problem:
Diese Vorgehensweise funktioniert zwar, ist aber nicht das Gelde vom Ei, was man leicht bei so Funktionen wie 'ersetze(dies,durch_das)' merkt.
Schließlich erwarte ich hier zwei Parameter.

Dieses Konstrukt bekomme ich aber auf meinem Weg nicht hin.
Denn da bestehen zwei Knackpunkte:
Erstmal weiß die Handlingfunktion nicht, wie viele Parameter denn die abhandelnde Funktion benötigt, und zweitens komm ich da mit meiner Art der Rückgabe nicht weiter.

Gibts da ne Lösung für?


Epilog:
Ich meine ich erinnern zu können, dass ich bei dieser Art von Funktionsaufrufen nur einen einzigen Parameter übergeben kann. Hab ich das richtig behalten?
Wenn ja, bleibt mir im Grunde ja nur noch die Möglichkeit bereits beim Requesthandler (bzw. in einer ausgegliederten Funktion) für jede einzelne Funktion die ich habe, die Übergabe manuell zu regeln. Also ein gigantisches SWITCH-CASE Konstrukt... Aber genau davon wollte ich ja mit den Variablenfunktionen weg :(
Die andere Möglichkeit, die ich sehe, wäre, dass ich statt Arrays Objekte übergebe. Aber da wirds haarig :D


Ergänzung:
Nein, ich werde kein Framework nutzen.
Ja, ich habe micht entschlossen meine JavaScripts komplett selbst zu schreiben. Ich war dabei nüchtern, und habe diese Entscheidung mehrmals für mich bestätigt! (Nur für den Fall)
 
Zurück
Oben Unten