Обход, если он имеет нулевые значения в угловых - PullRequest
0 голосов
/ 27 сентября 2019

Я очень новичок в Angular.Вот моя функция в компоненте, который вызывает API и ожидает результаты, но это также может привести к ошибкам.

 this.Service.callAPI().
      .subscribe(data => {
        if(data?.errors){
       });

Сбой, потому что данные и ошибки могут быть нулевыми.Это говорит cannot read the property of null.Как я могу это исправить?Я пробовал data?.errors?, но это не работает.

Ответы [ 2 ]

1 голос
/ 27 сентября 2019

Знак вопроса используется для проверки неопределенных или нулевых значений в html, а не в файлах машинописи.

Замените вашу строку if (data? .Errors) на if (data && data.errors).Это должно работать

Надеюсь, это решит вашу проблему.

0 голосов
/ 27 сентября 2019

Одним из подходов может быть применение оператора filter перед подпиской и фильтрация нулевых и неопределенных значений.

Попробуйте это:

this.Service.callAPI().pipe(
  filter(data => data !== undefined && data !== null),
).subscribe(data => {
  if (data.errors) {
    // at this point, data won't be undefined or null
  }
})

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...