Angular2 可观察
Angular2 Observable
我想运行首先验证http get函数,一旦成功,然后运行另一个函数然后return返回Observable,这样它就可以订阅并继续使用其他方法。
return new Observable(observer => {
this.api
.login(username, password)
.subscribe(
data => {
this.data = this.dataParse(data);
observer.next(this.data);
observer.complete();
});
// run another http.get to get user profile, before sending back Observable
});
我不确定如何 运行 另一个 http.get 然后 return 可观察。
我可以 运行 .subscribe() 方法中的另一个函数,但是它不会与当前的 Observable 链接
虽然我没有尝试过,但您需要将登录响应通过管道传递给一系列运算符。沿着这些线的东西:
return this.api
.login(username, password)
.map((res:Response) => res.json())
.mergeMap(data=> $http.get(data.id));
您不需要创建新的 Observable。
我想运行首先验证http get函数,一旦成功,然后运行另一个函数然后return返回Observable,这样它就可以订阅并继续使用其他方法。
return new Observable(observer => {
this.api
.login(username, password)
.subscribe(
data => {
this.data = this.dataParse(data);
observer.next(this.data);
observer.complete();
});
// run another http.get to get user profile, before sending back Observable
});
我不确定如何 运行 另一个 http.get 然后 return 可观察。
我可以 运行 .subscribe() 方法中的另一个函数,但是它不会与当前的 Observable 链接
虽然我没有尝试过,但您需要将登录响应通过管道传递给一系列运算符。沿着这些线的东西:
return this.api
.login(username, password)
.map((res:Response) => res.json())
.mergeMap(data=> $http.get(data.id));
您不需要创建新的 Observable。