Question: I'm developping an ionic application which use a backend. 

I have to do a login. Next to that, I have to get some values of this user: name, email, height, etc. Lot of values in various controllers.

Is it best practice to do a request to the server when I use this (lot of request in many controller), or maybe to request all the values when the user login (login will take more time to finish) and save this values to rootscope?

Thanks

Answer: 
If the information concerns the user, the profile, personal information, etc. it's all right to have it in the login and avoid a future call. If it's mixed information from different views/states, probably you should do it in their controllers.

The time of the request is very important too, you can't have a 10 second login, it's better to have 1 second loadings in 10 different views. Mostly because the user will probably only use 4 or 5 of this states/request and part of the information request on the login will go to waste.

Finally, take in account if you are going to use cache or local storage to save the information for future logins, if so you might want to have that 10 seconds request once and then reuse that data without redoing the request.
You can use [Local Forage](https://www.npmjs.com/package/angular-localforage) and store this values,and get them whatever you want(CRUD). Only inject $localForage at the controller you need.