Как прокомментировали другие, если вы делаете 400 http-вызовов, у вас, скорее всего, возникнут проблемы с дизайном / архитектурой.
Помимо этого, для выполнения нескольких параллельных http-вызовов и получения одного обратного вызова со всемирезультаты, я предлагаю использовать rxjs и forkJoin.
Если вы занимаетесь разработкой на Angular, вероятно, в ваших интересах изучить и освоить rxjs, так как большая часть фреймворка построена на нем.Преобразование всего в Promises просто кажется мне дополнительной, ненужной работой.
Rxjs отлично справляется с обработкой ситуаций, связанных с множественными асинхронными вызовами и другими сложными асинхронными проблемами.По моему опыту, эти сложные ситуации намного сложнее справиться с обещаниями.