Кажется вот здесь нужная вам обработка
Вам правильно говорили в предыдущем решении - код поделен на несколько контекстов исполнения. То, что доступно в одном контексте, не видно в другом. Решение - либо пробрасывать необходимый вам объект в контекст после завершения get явно (но я не знаю можно ли и как это сделать в ангуляре, надо тестить на простых примерах сначала, я с ангуляром не работал), либо делать запросы асинхронными, так чтобы явно ждать когда каждый исполнится по очереди, и последовательно обрабатывать их результаты - тогда будет один последовательный контекст исполнения. Последний вариант работает понятнее, но дольше. Первый подразумевает что массив может некоторое время быть в подвешенном состоянии - половина запросов исполнилась и проставила доп. инфу в соответствующие объекты, а половина еще в процессе получения данных. В тоже время (так как контекстов исполнения несколько, и они работают одновременно) "главный" контекст, которому и нужен был массив с заполненными данными, также теоретически может попытаться начать работу с этим массивом, поэтому его нужно как-то ограничивать или проверять все ли запросы завершены.