Axel Richter: Clousures verlieren Variable

Beitrag lesen

Hallo,

Ja, ne, das mit dem globalen self war ein Fehler, das sollte schon lokal sein,

Wobei ich dann nicht verstehe, warum Du einerseits myCallback(req) als Public-Methode des Objektes deklarierst, dann aber das Objekt in eine private Variable self steckst, um die Methode myCallback(req) dieses privaten Objektes aufzurufen.

Kann es sein, dass Du eher soetwas willst:

  
    function obj() {  
  
        var myCallback = function(req) {  
            alert(req);  
        }  
  
        Request( function(e) { myCallback(e) } );  
    }  
  
    function Request(callback) {  
        // simuliert einen Ajax Request  
  
        window.setTimeout( function() { callback('ich bin callback') }, 1000);  
    }  
  
    var myObj = new obj();  
  
    //myObj.myCallback("Hallo Welt"); //produziert einen Fehler  

viele Grüße

Axel