2016-03-18 4 views
0

特にイベントにリスナーが1つしかない場合は、イベントの処理にかなりのオーバーヘッドがありますか?例えばPolymerイベントを放つのは、単にリスナー関数を直接呼び出すよりも遅いのですか?

、それが遅く、このようにそれを呼び出すことです:対

Polymer({ 
    'listeners': { 
    'some-event': 'someFunc', 
    }, 

    attached: function() { 
    this.fire('some-event'); 
    }, 

    someFunc: function(event) { 
    //do stuff.. 
    } 
}); 

Polymer({ 
    attached: function() { 
    this.someFunc(); 
    }, 

    someFunc: function() { 
    //do stuff.. 
    } 
}); 

答えて

0

イベントが同期的発射される顕著な差(デフォルト)は、特にハンドラ場合はありませんevent.stopPropagation()が呼び出され、イベントがDOMの上下にバブルしないようにします。イベントが非同期で発生すると、現在のイベントが完全に処理された後(イベントキューから次のタスクが処理されるとき)にのみハンドラが呼び出されます。 特別な理由がない場合は、ハンドラを直接呼び出すことになります。

サーバーへのリクエストに関しては、違いはまったく重要ではありません。高いフレームレートを目指し、何百、何千ものコールがある場合は、違いを認識するかもしれません。

関連する問題