【问题标题】:How do I catch an error from an observable created from an Angularfire promise如何从 Angularfire 承诺创建的可观察对象中捕获错误
【发布时间】:2020-01-25 13:54:04
【问题描述】:

我正在尝试使用 angularfire 将 Angular 应用程序中的文件上传到 Firebase。我首先从一个 Promise 创建一个 observable,然后我尝试使用 catcherror 来获取错误。我在存储规则中设置了一条规则,不允许大于 1MB 的文件。当我尝试上传更大的文件时,它不允许,但我也没有收到错误。它与使用 from 创建可观察对象有关吗?这是我的代码。

let ref = this.afStorage.ref(`/folder`);

    return from(ref.put(file)).pipe(
        tap(() => this.store.dispatch(fromRoot.loadSuccess({message: `File Uploaded Successfully`, showMsg: true}))),
        catchError(err => of(fromRoot.loadFail({message: `Failed To Upload File`, showMsg: true, error: err})))
    )

【问题讨论】:

    标签: angular rxjs angularfire


    【解决方案1】:

    抱歉,ngrx 出错了。我没有在 catchError 中调度动作。应该是

    let ref = this.afStorage.ref(`/folder`);
    
    return from(ref.put(file)).pipe(
        tap(() => this.store.dispatch(fromRoot.loadSuccess({message: `File Uploaded Successfully`, showMsg: true}))),
        catchError(err => of(this.dispatch(fromRoot.loadFail({message: `Failed To Upload File`, showMsg: true, error: err})))))
    )
    

    【讨论】:

      猜你喜欢
      • 2017-09-17
      • 2021-11-05
      • 2016-10-06
      • 2017-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多