According to this answer https://stackoverflow.com/a/67883291/14326456, I am now able to know when tiles on globe are loaded. However, I would like to know if there is a way to listen loading event on a specific imageryLayer ? And not on all at the same time.
viewer.scene.globe.tileLoadProgressEvent.addEventListener(function (queuedTileCount) {
console.log(queuedTileCount);
console.log(viewer.scene.globe.tilesLoaded);
if(viewer.scene.globe.tilesLoaded){
// doSomething
}
});