如何在Observable Http中返回自定义catch错误?

时间:2017-07-28 07:54:56

标签: angular

我有一个可观察的功能,请求:

public send(): Observable<ISms[]> {

    if (this.usedAttempts < this.maxAttempts) {
      return; // Here return custom error
    }
}

我把这种观察视为:

this.sms.send().subscribe(
      response => {
        console.log(response);
      },
      error => {
        console.log(error);
      }
    );
  }

我需要检查用户是否可以发送短信,如果是,发送,否则返回错误。

2 个答案:

答案 0 :(得分:3)

只需使用if (this.usedAttempts < this.maxAttempts) { return Observable.throw('error description'); } 运算符:

import 'rxjs/add/observable/throw';

别忘了导入它:

{{1}}

以下是the docs say

  

创建一个Observable,不向Observer发送任何项目   立即发出错误通知。

答案 1 :(得分:2)

public send(): Observable<ISms[]> {

    if (this.usedAttempts < this.maxAttempts) {
      return Observable.throw(customError)
    }
}