我试图从一个服务调用中进行map
映射,但是遇到了错误。查看了Angular 2中subscribe未定义?,它说为了订阅我们需要在操作符内部返回。我也有返回语句。
这是我的代码:
checkLogin(): Observable<boolean> {
return this.service
.getData()
.map(
(response) => {
this.data = response;
this.checkservice = true;
return true;
},
(error) => {
// debugger;
this.router.navigate(["newpage"]);
console.log(error);
return false;
}
)
.catch((e) => {
return e;
});
}
错误日志:
类型错误:您提供的对象无效,需要流。您可以提供Observable、Promise、Array或Iterable。
您提供了'undefined',但预期是流。您可以提供Observable,Promise,Array或Iterable。
但这发生在我的服务器正在运行并且我在分支之间切换的时候。我所需要做的就是重新启动服务器,问题便解决了。 - tylerlindellObservable<boolean>
。因此,你所有的返回语句都应该返回一个布尔值的 Observable。用of()
包装返回语句。例如:1.return of(false)
2.return of(e)
。 - Saddam Pojee