JavaScript: Variablenfunktionen und mehrere Parameter (Requesthandler)

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von somunium, 27.03.2008.

  1. somunium

    somunium Thread Starter MacUser Mitglied

    Beiträge:
    324
    Zustimmungen:
    35
    Mitglied seit:
    16.01.2008
    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)
     
Die Seite wird geladen...

Diese Seite empfehlen