Как создать массив объектов из http.get

Если вы хотите создать экземпляры типа NameCreator на основе строк, используйте это:

 public static class NameCreator {

    public static String createName(String lastname) {
        return lastname;
    }

    public static String createName(String lastname, String firstName) {
        return lastname + " " + firstName;
    }
}

, а затем выполните следующие вызовы:

  List<String> items = new ArrayList<>();
    //
    items.forEach(NameCreator::createName);//uses the first method
    Map<String, String> map = new HashMap<>();
    //
    map.forEach(NameCreator::createName); //uses the second method
-1
задан devio95 19 January 2019 в 17:35
поделиться

2 ответа

Прочтите этот раздел об HTTP-уроке по Angular и Angular API .

Метод get принимает тип:

get<T>(...): Observable<T>

, чтобы вы могли изменить свою реализацию getAllLinks:

getAllLinks(): Observable<Link[] {
    return this.http.get<Link[]>('/main/linkGetAll');
}

Теперь вы должны иметь возможность повторять ответ: [118 ]

getAllLinks().subscribe(links => {
    links.forEach(link => // do what you need);
}
0
ответ дан pedmer 19 January 2019 в 17:35
поделиться
getAllLinks(){
  return this.http.get('/main/linkGetAll')
    .pipe(map(res => {

       // do something here
       // res.forEach() or res.map()
       return 'it';
     })
   );
}

Прежде чем перейти к

for(let item in this.links) { DOESN'T WORK }

Убедитесь, что данные this.links содержат (используйте async / await вместе с toPromise ())

0
ответ дан smart74 19 January 2019 в 17:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: