0

AS3 で P2P クライアントに取り組んでいるときに、完全に理解したいことに出くわしました。

これが機能している間:

private function test():void
{
    _sendStream = new NetStream(_nc, NetStream.DIRECT_CONNECTIONS);
    var c:Object = new Object;
    c.onPeerConnect = function(subscriber:NetStream):Boolean 
    {
        trace("onPeerConnect");
        return true;
    }
    _sendStream.client = c;
    ...
}

これは動作しません:

private function test():void
{
    _sendStream = new NetStream(_nc, NetStream.DIRECT_CONNECTIONS);
    _sendStream.client = this;
    ...
}

public function onPeerConnect(subscriber:NetStream):Boolean 
{
    trace("onPeerConnect");
    return true;
}

手元にある特定の問題の詳細には触れずに (onPeerConnect は、ある時点で NetStream オブジェクトのクライアント オブジェクトで呼び出される単なるコールバック関数です)、関数宣言の 2 つの方法の正確な違いとその理由は何ですか?この場合、一方の方法は機能しますが、もう一方の方法は機能しませんか?

4

1 に答える 1