Hello all,
For all loaders, the loader.load
is asynchronous. How to change to synchronous?
var loader = new THREE.STLLoader();
loader.load( file, function ( geometry ) {
currentObj = geometry;
$( “#loading_data” ).hide();
} );
Hello all,
For all loaders, the loader.load
is asynchronous. How to change to synchronous?
var loader = new THREE.STLLoader();
loader.load( file, function ( geometry ) {
currentObj = geometry;
$( “#loading_data” ).hide();
} );
Synchronous HTTP requests are deprecated in web browsers, and not supported by any three.js loaders. In addition, some loaders have to do asynchronous work other than the HTTP request. See:
If you want to write code without relying on callbacks, consider the new loadAsync
method:
(async () => {
const result = await loader.loadAsync( url );
console.log( result );
})()
It’s still asynchronous (hence the name) but may be easier to read/write using the new JavaScript async/await API: https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Asynchronous/Async_await.