Browse Source

EventDispatcher: obtain _listeners before if (#30328)

Eran Geva 1 year ago
parent
commit
782b621e13
1 changed files with 8 additions and 6 deletions
  1. 8 6
      src/core/EventDispatcher.js

+ 8 - 6
src/core/EventDispatcher.js

@@ -26,19 +26,20 @@ class EventDispatcher {
 
 
 	hasEventListener( type, listener ) {
 	hasEventListener( type, listener ) {
 
 
-		if ( this._listeners === undefined ) return false;
-
 		const listeners = this._listeners;
 		const listeners = this._listeners;
 
 
+		if ( listeners === undefined ) return false;
+
 		return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;
 		return listeners[ type ] !== undefined && listeners[ type ].indexOf( listener ) !== - 1;
 
 
 	}
 	}
 
 
 	removeEventListener( type, listener ) {
 	removeEventListener( type, listener ) {
 
 
-		if ( this._listeners === undefined ) return;
-
 		const listeners = this._listeners;
 		const listeners = this._listeners;
+
+		if ( listeners === undefined ) return;
+
 		const listenerArray = listeners[ type ];
 		const listenerArray = listeners[ type ];
 
 
 		if ( listenerArray !== undefined ) {
 		if ( listenerArray !== undefined ) {
@@ -57,9 +58,10 @@ class EventDispatcher {
 
 
 	dispatchEvent( event ) {
 	dispatchEvent( event ) {
 
 
-		if ( this._listeners === undefined ) return;
-
 		const listeners = this._listeners;
 		const listeners = this._listeners;
+
+		if ( listeners === undefined ) return;
+
 		const listenerArray = listeners[ event.type ];
 		const listenerArray = listeners[ event.type ];
 
 
 		if ( listenerArray !== undefined ) {
 		if ( listenerArray !== undefined ) {

粤ICP备19079148号