如何使用Rxjs检查可观察到的响应,并在Angular4中显示不同响应的警报?
我有以下服务:如何使用Rxjs检查可观察到的响应,并在Angular4中显示不同响应的警报?,angular,rxjs,observable,Angular,Rxjs,Observable,我有以下服务: return this.http.post(this.loginUrl, bodyString, options) .map((res:Response) => res.json()) .catch((error:any) => Observable.throw(error || 'Server error')); 使用函数:authbody:Object:Obse
return this.http.post(this.loginUrl, bodyString, options)
.map((res:Response) => res.json())
.catch((error:any) => Observable.throw(error || 'Server error'));
使用函数:authbody:Object:Observable
然后我在组件中订阅:
this.loginService.auth(value).subscribe(
result => {
swal('Error', result, 'warning')
},
err => {
// Log errors if any
console.log(err);
});
我如何处理结果的值以及在哪里?我想根据他的不同值来显示它。您不能使用if和==签入订阅。您可以检查订阅中返回的结果的值。我假设结果是一个简单的字符串,但它实际上可以是任何东西。检查结果对象中返回的内容,并查看最合适的内容
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);
});
这就是问题所在——响应是json或字符串。如果我用If检查结果:运算符“==”不能应用于类型“Response”和“string”。