2009-07-19 8 views
4

Je suis en train d'encapsuler un appel à un service distant dans ma propre classe RemoteObject. Tout fonctionne correctement, sauf lorsque je dois gérer les paramètres variables qui sont transmis à l'appel distant. Comme il s'agit d'un appel au NetConnection.call, je devrais être capable de passer des arguments variables, mais puisque j'encapsule le NetConnection.call, il génère des erreurs. C'est ce que ma méthode ressemble actuellement:Transférer des arguments variables

public function call(method : String, callback : Function, ... args) : void 
{ 
    var responder : Responder; 

    responder = new Responder(callback, onResponderStatus); 

    this._nc.call(this._remoteObject + "." + method, responder, args); 
} 

Comme vous pouvez le voir, ma méthode prend un paramètre d'arguments variables comme le dernier paramètre. J'essaye de passer ces paramètres à la méthode NetConnection.call. Mais, dans le cadre de ma méthode, args serait de type Array. Comment est-ce que je transfère correctement les arguments variables à NetConnection.call?

Répondre

7

Function::apply est ce que vous cherchez ... à la fin, il devrait ressembler à ceci:

this._nc.call.apply(this._nc, [this._remoteObject + "." + method, responder].concat(args)); 

greetz

back2dos

Questions connexes