1
私はクラス内の外部関数を呼び出したい。それはコードです。 checkConnectionStatus関数でクラスの内部から外部関数を呼び出す方法は?
、
この[_funcNameForSucceededCon] .apply()。 "this"はクラスであり、アプリケーションではないため動作しません。現時点でどのようにアプリケーションにアクセスすることができますか、何ができますか?
ご協力いただければ幸いです。
お待ちしております、 ミラ。
package myLibrary
{
import air.net.URLMonitor;
import flash.events.Event;
import flash.events.StatusEvent;
import flash.net.URLRequest;
public class connectionControl
{
private var _urlReq:URLRequest;
private var _urlMonitor:URLMonitor;
private var _funcNameForSucceededCon:String;
private var _funcNameForFailedCon:String;
public function connectionControl(targetURL:String, funcNameForSucceededCon:String, funcNameForFailedCon:String)
{
_urlReq = new URLRequest(targetURL);
_urlMonitor = new URLMoniotor(_urlReq);
_urlMonitor.addEventListener(StatusEvent.STATUS, checkConnectionStatus);
_funcNameForSucceededCon = funcNameForSucceededCon;
_funcNameForFailedCon = funcNameForFailedCon;
if(_urlMonitor.running == false)
{
_urlMonitor.start();
}
else
{
_urlMonitor.stop();
_urlMonitor.start();
}
}
private function checkConnectionStatus(e:Event):void
{
_urlMonitor.removeEventListener(StatusEvent.STATUS, checkConnectionStatus);
if(_urlMonitor.available)
{
this[_funcNameForSucceededCon].apply();
}
else
{
this[_funcNameForFailedCon].apply();
}
}
}
}
ありがとうございました。 – mira
投票数の下のグレーのチェックボックスをクリックして、この回答を受け入れられた回答にマークすることを検討してください。 –
この方法で面白い結果を得ることができます。このクラスでイベントをディスパッチした後、そのクラスにディスパッチされたイベントのリスナーを追加する方がよいでしょう。 –