cc.loader.onProgress behaviour?

Consider the following function running in onLoad:

startLoading:function(){
   cc.loader.onProgress = function ( completedCount, totalCount,  item ){
            console.log("completedCount: " + completedCount + ",totalCount:" + totalCount );
            console.log("onProgress: " + Object.values(item) );
        };
        
        cc.loader.loadRes("textures", function (err, assets) {
            self.onLoadComplete();
        });      
    },
    
},
    onLoadComplete:function(){
        console.log('onLoadComplete: ' + 'loadScene');
        cc.director.loadScene("login");
        cc.loader.onComplete = null;
    },

Here is the problem:
These lines:

console.log("completedCount: " + completedCount + ",totalCount:" + totalCount );
     console.log("onProgress: " + Object.values(item) ); 

only output its result in log when this line is executed

     `  cc.director.loadScene("login");

If I don’t run cc.director.loadScene, the onProgress doesn’t run.
Why is this?

Any advice on this part?