vue.js – How can I load in real time with Vue?

I have a problem.

I want to use spinner when listing data with Vue. But not by giving setTimeout, I want the text loading to appear during the actual loading of the data and unload when the browser completes the loading process.

How can I do that?

// Project List
getAllList: function(){
setTimeout(()=>{
 axios.get('api.php')
 .then(function(response){
            //console.log(response);
            app.listContent = response.data.listPro;

      });
}, 2000)

},