相关疑难解决方法(0)

如何在Angular2中进行嵌套的Observable调用

我在制作嵌套的Observable调用时遇到了一些麻烦.我的意思是调用一个http服务来检索用户,然后从用户获取id以进行另一个http调用,最后在屏幕上呈现结果.

1)HTTP GET 1:获取用户

2)HTTP GET 2:获取用户的首选项,将唯一标识符作为参数传递

这转换为组件中的以下代码Blah.ts:

版本1 - 此代码不显示任何内容

 ngOnInit() {
        this.userService.getUser()
            .flatMap(u => {
                this.user = u; // save the user
                return Observable.of(u); // pass on the Observable
            })
            .flatMap(u => this.userService.getPreferences(this.user.username)) // get the preferences for this user
            .map(p => {
                this.preferences = p; // save the preferences
            });
    }
Run Code Online (Sandbox Code Playgroud)

版本2 - 此代码有效,但对我来说似乎是错误的方法:

 this.userService.getUser().subscribe(u => {
            this.user = u;
            this.userService.getPreferences(this.user.username).subscribe(prefs => {
                this.preferences = prefs;
            });
        });
Run Code Online (Sandbox Code Playgroud)

这是模板:

<h3>User</h3>

<div class="row col-md-12">
    <div class="col-md-6"> …
Run Code Online (Sandbox Code Playgroud)

rxjs angular2-observables angular

25
推荐指数
2
解决办法
3万
查看次数

标签 统计

angular ×1

angular2-observables ×1

rxjs ×1