2010-08-30 4 views

Répondre

4

Il suffit de passer une fonction à un autre en tant que paramètre pour rendre votre rappel:

class A { 
function A(){ 
} 
// function to be called when work is finished 
private function workDone():void { 
    //... 
} 
public function foo():void { 
    var b:B=new B(); 
    b.doWork(workDone); // pass the callback to the work function 

    //can also be an anonymous function, etc.. 
    b.doWork(
    function():void{ 
    //.... 
    } 
); 
} 
} 

class B { 
function B(){ 
} 
public function doWork(callback:Function):void{ 
    // do my work 
    callback(); // call the callback function when necessary 
} 
} 
+0

C'est génial, merci! – redconservatory

0

Que voulez-vous dire? Un callback est une fonction appelée en réponse à un événement - dans le langage AS, c'est un écouteur d'événement. Si vous voulez juste que les classes communiquent, demandez à l'une d'elles d'appeler une méthode de l'autre.

+0

Vous voulez dire en appelant des fonctions publiques sur une autre classe? – redconservatory

+1

Je demandais surtout parce que j'ai lu ce post d'adobe, mais ils n'ont pas posté un exemple de rappel: http://help.adobe.com/en_US/as3/mobile/WS948100b6829bd5a6d20da321260fed8a52-8000.html – redconservatory

Questions connexes