2009-07-19 43 views
4

我在我自己的RemoteObject類中封裝了對遠程服務的調用。這一切都正常工作,除非我必須處理傳遞給遠程調用的變量參數。由於這是對NetConnection.call的調用,所以我應該能夠傳遞可變參數,但是由於我封裝了NetConnection.call,所以它會拋出錯誤。這就是我的方法現在看起來像:轉發可變參數

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); 
} 

正如你看到的,我的方法需要一個變量參數的參數作爲最後一個參數。我試圖將這些參數傳遞給NetConnection.call方法。但是,在我的方法範圍內,args將是Array類型。如何正確地將可變參數轉發到NetConnection.call

回答

7

Function::apply是你在找什麼......最後,它應該是這樣的:

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

格爾茨

back2dos