【发布时间】:2017-09-18 20:10:45
【问题描述】:
我正在尝试通过服务调用map,但收到错误消息。
查看subscribe is not defined in angular 2?,它说为了订阅我们需要从运营商内部返回。我也有返回语句。
这是我的代码:
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;
});
}
错误日志:
TypeError:您在预期流的位置提供了无效对象。您可以提供 Observable、Promise、Array 或 Iterable
【问题讨论】:
-
我收到了类似的问题:
You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.但它发生在我的服务器正在运行并且我在分支之间切换时。我需要做的就是重新启动我的服务器,然后它就消失了。 -
@AakashThakur 你的返回类型是
Observable<boolean>。所以,你所有的 return 语句都应该返回一个 Observable 的布尔值。用of()包裹return 语句。示例 1:return of(false)示例 2:return of(e)
标签: angular typescript rxjs observable