Недопустимый оператор возврата в службе Angular

#angular #angular7

#angular #angular7

Вопрос:

Я работаю над примером приложения Angular для моего обучения. Когда я пытаюсь получить список объектов service.ts , я получаю сообщение об ошибке Illegal return statement . Это метод обслуживания.

 getItemList() {
    debugger;
    return this.http.get( environment.apiURL   '/Item').toPromise();
}
 

Я проверил api вручную с помощью браузера, и он возвращает данные.

Это component.ts, где я использовал для вызова метода service

 ngOnInit() {

    this.itemService.getItemList().then(res=>this.itemList =res as Item[]); 
}
 

внутри списка элементов отображается ошибка Illegal return statement .

Комментарии:

1. может быть debugger; , это доставляет вам проблемы? Кроме того, попробуйте удалить as Item[] from ngOnInit() . Очень вероятно, что оператор return не может быть возвращен к Item[] , поэтому вы получаете эту ошибку.

Ответ №1:

Я думаю, что проблема кроется в вашем компоненте:

 this.itemService.getItemList().then(res=>this.itemList =res as Item[]);
 

Вы не можете вернуть оператор, но вместо этого вы можете написать его, как в этих примерах:

 this.itemService.getItemList().then(res => {
  this.itemList = res as Item[];
});

this.itemService.getItemList().then(res => (this.itemList = res as Item[]));
 

Комментарии:

1. Спасибо за ваш ответ, я реализовал, как вы сказали, теперь в режиме отладки я получаю «res не определен», а список элементов также не определен.