Asynchronus subclasses

I am currently struggling with asynchronous classes. I want to call other classes in my main class that need textures or data loaded before further execution in the classes. My wish is that the main application continues to run while asynchronous processes are running in the subclasses. does anyone have a working example?


class Main {

	constructor(){
		this._Initialize();
	}

	_Initialize() {   
			
	//here i want to call classes which contains async loaders
    //as example call "World"
			
	}

}


window.addEventListener('DOMContentLoaded', () => {
	new Main();
});




class World {
	private constructor() {	 
		//ordinary nonasync stuff here
	} 

	async initialize() { 
		//some async stuff here
		return new World(); 
	} 
}