src/loaders/OBJLoader2.js
function ( prepData, workerSupportExternal ) {
		this._applyPrepData( prepData );
		var available = prepData.checkResourceDescriptorFiles( prepData.resources,
			[
				{ ext: "obj", type: "ArrayBuffer", ignore: false },
				{ ext: "mtl", type: "String", ignore: false },
				{ ext: "zip", type: "String", ignore: true }
			]
		);
		if ( THREE.LoaderSupport.Validator.isValid( workerSupportExternal ) ) {

			this.terminateWorkerOnLoad = false;
			this.workerSupport = workerSupportExternal;
			this.logging.enabled = this.workerSupport.logging.enabled;
			this.logging.debug = this.workerSupport.logging.debug;

		}
		var scope = this;
		var onMaterialsLoaded = function ( materials ) {
			if ( materials !== null ) scope.meshBuilder.setMaterials( materials );
			scope._loadObj( available.obj, scope.callbacks.onLoad, null, null, scope.callbacks.onMeshAlter, prepData.useAsync );

		};
		this._loadMtl( available.mtl, onMaterialsLoaded, null, null, prepData.crossOrigin, prepData.materialOptions );
	}
function ( prepData, workerSupportExternal ) {
		this._applyPrepData( prepData );
		var available = prepData.checkResourceDescriptorFiles( prepData.resources,
			[
				{ ext: "obj", type: "ArrayBuffer", ignore: false },
				{ ext: "mtl", type: "String", ignore: false },
				{ ext: "zip", type: "String", ignore: true }
			]
		);
		if ( THREE.LoaderSupport.Validator.isValid( workerSupportExternal ) ) {

			this.terminateWorkerOnLoad = false;
			this.workerSupport = workerSupportExternal;
			this.logging.enabled = this.workerSupport.logging.enabled;
			this.logging.debug = this.workerSupport.logging.debug;

		}
		var scope = this;
		var onMaterialsLoaded = function ( materials ) {
			if ( materials !== null ) scope.meshBuilder.setMaterials( materials );
			scope._loadObj( available.obj, scope.callbacks.onLoad, null, null, scope.callbacks.onMeshAlter, prepData.useAsync );

		};
		this._loadMtl( available.mtl, onMaterialsLoaded, null, null, prepData.crossOrigin, prepData.materialOptions );
	}
function ( prepData , workerSupportExternal ) { this . _applyPrepData ( prepData ) ; var available = prepData . checkResourceDescriptorFiles ( prepData . resources , [ { ext : "obj" , type : "ArrayBuffer" , ignore : false } , { ext : "mtl" , type : "String" , ignore : false } , { ext : "zip" , type : "String" , ignore : true } ] ) ; if ( THREE . LoaderSupport . Validator . isValid ( workerSupportExternal ) ) { this . terminateWorkerOnLoad = false ; this . workerSupport = workerSupportExternal ; this . logging . enabled = this . workerSupport . logging . enabled ; this . logging . debug = this . workerSupport . logging . debug ; } var scope = this ; var onMaterialsLoaded = function ( materials ) { if ( materials !== null ) scope . meshBuilder . setMaterials ( materials ) ; scope . _loadObj ( available . obj , scope . callbacks . onLoad , null , null , scope . callbacks . onMeshAlter , prepData . useAsync ) ; } ; this . _loadMtl ( available . mtl , onMaterialsLoaded , null , null , prepData . crossOrigin , prepData . materialOptions ) ; }
Run the loader according the provided instructions.

@param {THREE.LoaderSupport.PrepData} prepData All parameters and resources required for execution
@param {THREE.LoaderSupport.WorkerSupport} [workerSupportExternal] Use pre-existing WorkerSupport
Run the loader according the provided instructions .