如何检查Observable的响应并在Angular4中使用Rxjs显示不同响应的警报?

时间:2017-10-26 09:03:29

标签: angular rxjs observable

我有这项服务:

         return this.http.post(this.loginUrl, bodyString, options)
                     .map((res:Response) => res.json())
                     .catch((error:any) => Observable.throw(error || 'Server error'));

功能:auth(body: Object) : Observable<Response>

然后我订阅了该组件:

this.loginService.auth(value).subscribe(
              result => {
                swal('Error', result, 'warning')
              },
              err => {
                  // Log errors if any
                  console.log(err);
              });

我如何处理result的价值?我想根据他的不同价值来展示它。您无法使用if==

签入订阅

1 个答案:

答案 0 :(得分:1)

您可以检查订阅中返回的结果的值。我将假设结果是一个简单的字符串,但它实际上可以是任何东西。检查结果对象中返回的内容,并查看最合适的内容。

this.loginService.auth(value).subscribe((result) => {

    if (result === 'ok') {
        // its all good
    }

    if (result === 'bad') {
        // its bad
    }

}, (err) => {
    // Log errors if any
    console.log(err);
});