Any reason for Angular not handle this?

If you are using a router you can use a "resolve" to ensure a request is returned before loading your controller.