Ошибка: Неперехвачено (в обещании): [объект Object] .Angular 5

Я пытаюсь создать кнопку загрузки с angular 5, я использую этот код в своем файле .ts:

    handleFiles(e) {
    this.file = e.srcElement.files[0];
    if (this.file.size > 2097152) {
      let snackBarRef = this.snackBar.open('Images must be 2 MB or less', 'OK!', {
        duration: 3000
      });
    } else {
      this.uploadImage();
    }
  }

  uploadImage() {
    let storageRef = firebase.storage().ref();
    let path = Date.now().toString() + '-' + this.file.name;
    let iRef = storageRef.child('posts/' + path);
    let me = this;
    iRef.put(this.file).then((snapshot) => {
        let snackBarRef = this.snackBar.open('Image uploaded', 'OK!', {
          duration: 3000
        });
        this.storageRef.child('posts/' + path).getDownloadURL().then(function(url) {
          me.imageUrl = url;
          me.newThumbnail = url;
        });
    });
  }

У меня в консоли появилась эта ошибка: Ошибка: не перехвачено (в обещании): [объект Object].

Есть идеи по этому поводу, пожалуйста? потому что я ничего не мог найти при отладке.

Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
1
0
8 048
1

Ответы 1

Прежде всего, вы должны обработать ошибку в обещаниях.

iRef.put(this.file).then((snapshot) => {
    let snackBarRef = this.snackBar.open('Image uploaded', 'OK!', {
      duration: 3000
    });
    this.storageRef.child('posts/' + path).getDownloadURL().then(function(url) {
      me.imageUrl = url;
      me.newThumbnail = url;
    })
    .catch( error => { console.error(error) })
})
.catch( error => {
   console.error(error);
})

Так вы сможете увидеть, что и где происходит.

все так же, как и раньше, есть идеи по поводу ошибки? о чем все?

A.Nasri 07.06.2018 20:45

Вы уверены, что эта ошибка возникает из-за этого блока кода?

Christian Benseler 07.06.2018 20:47

Да, я отладил код, который показывает ошибка при выполнении этого кода

A.Nasri 07.06.2018 21:35

И к какому из этих двух обещаний относится эта ошибка?

Christian Benseler 07.06.2018 21:38

Я нашел это, все, что мне нужно, это просто добавить var storageRef = firebase.storage (). Ref (newFirebaseSrcVal); перед сохранением URL-адреса теперь он работает отлично, большое спасибо за помощь @Christian.

A.Nasri 08.06.2018 01:39

Другие вопросы по теме