Читай про промисы, продумывай архитектуру с учетом того, что данные могут поступать после отрисовки страницы, это ангуляр, тут нужно думать на ангуляре.
Вообще данные, которые не влияют на отрисовку страницы лучше всего хранить или в сервисе или в фабрике, так что в этом плане решение абсолютно верное, но проектируя контроллер нужно учитывать что сервис нектороые данные может получать после первой отрисовки страницы, Например бек отдает данные с задержкой.