ОШИБКА TypeError: невозможно разрушить свойство ‘data’ объекта ‘object null’, поскольку оно равно нулю в Angular

#javascript #typescript

#javascript #typescript

Вопрос:

У меня ошибка при загрузке моего компонента. Я получаю эту ошибку. Но как только я обновляю страницу, ошибка снова не отображается.

Это мой код:

 loadUserSuccess = ({ data }) => {
    if (data) {
      this.user = data;

      var currentDate = new Date();
      var endDuration = new Date(this.user.endDuration);
      var hasValidExpiryDate = false;

      if (!!this.user amp;amp; this.user.active) {

        currentDate.setHours(0,0,0,0,);
        endDuration.setHours(0,0,0,0,);

        hasValidExpiryDate = endDuration >= currentDate;

        if (hasValidExpiryDate) {
          this.userService.goAdmin(true);
          this.userService.setAdminRole(this.user.role);
          this.menu.push({title: 'Admin', link: '/user/admin'});

          localStorage.setItem('isAdmin', 'admin');
        }
      }
    }
  }
 

И моя ошибка гласит.

введите описание изображения здесь

У меня периодически возникает эта ошибка. Не каждый раз.

И я вызываю функцию следующим образом.

 loadUser() {
  this.enjoyerService.getCmsUserByEmail(this.authService.getUser())
    .pipe(
      take(1),
    )
    .subscribe(
      this.loadUserSuccess,
      this.loadUserError,
    );
}
 

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

1. Похоже, что вы передаете в ‘loadUserSuccess’ значение null

2. Но когда я обновляю его, все оказывается в порядке.

3. Вы должны добавить вызов функции

4. Я обновил вопрос, который я вызываю функцию в подписке