Co ma robić kod riddla to nie wiem, typ zamienił concat, które pozwala dodać tablicę do tablicy, na push, co działa dla jednego obiektu i mówi że jego rozwiązanie jest zajebiste xD
Jak chcesz dodać wszystkie to możesz zrobić this.friends.push(...data);
i dodać wszystkie na raz?
Dodatkowo żądania GET są asynchroniczne, samo dodawanie do tablicy bez async await albo bez zamiany na Promise nic nie da
No da, w momencie w którym wszystkie calle się skończą, to w this.friends
będziesz miał wszystkie elementy.
Oczywiście jak zrobisz taką głupotę jak to:
this.friends = [];
this.users.forEach(user => {
this.usersService.searchUserFriends(user.login).subscribe(data => {
this.friends.push(...data);
});
});
console.log(this.friends); // tutaj
Czyli po tej pętli spróbujesz je odczytać, to oczywiście że ich tam nie będzie jeszcze, bo ten console.log()
(czy czymkolwiek odczytasz te wartości) wywoła się zanim calle się skończą.
Bo Tobie nie chodzi o to, że wczytać wszystkie dane z callabli, tylko o to jak poczekać aż wszystkie się załadują - więc tak powinieneś zadać pytanie.