Forráskód Böngészése

XHRLoader: Fixed loadmanager/cache potential bugs. See #4819.

Mr.doob 11 éve
szülő
commit
681c3b8261
1 módosított fájl, 6 hozzáadás és 9 törlés
  1. 6 9
      src/loaders/XHRLoader.js

+ 6 - 9
src/loaders/XHRLoader.js

@@ -21,7 +21,7 @@ THREE.XHRLoader.prototype = {
 
 		if ( cached !== undefined ) {
 
-			onLoad( cached );
+			if ( onLoad ) onLoad( cached );
 			return;
 
 		}
@@ -29,18 +29,15 @@ THREE.XHRLoader.prototype = {
 		var request = new XMLHttpRequest();
 		request.open( 'GET', url, true );
 
-		if ( onLoad !== undefined ) {
+		request.addEventListener( 'load', function ( event ) {
 
-			request.addEventListener( 'load', function ( event ) {
+			scope.cache.add( url, this.response );
 
-				scope.cache.add( url, this.response );
+			if ( onLoad ) onLoad( this.response );
 
-				onLoad( this.response );
-				scope.manager.itemEnd( url );
+			scope.manager.itemEnd( url );
 
-			}, false );
-
-		}
+		}, false );
 
 		if ( onProgress !== undefined ) {