小编S. *_*dsi的帖子

Angular 5 使用 forkJoin 组合和链接并行调用不起作用

我正在寻找一种在加载页面上的所有控件后执行某些操作的方法。这些控件通过调用http get 并行加载。

我尝试了类似于下面的代码,但它似乎没有解决问题。如果工作正常,某些文本应该显示“完成”。事实并非如此。我不确定我是否正确理解 forkJoin 的工作原理。我曾经在 Angular 1.x 中使用 Promise 进行这种链接。任何有助于理解问题和解决方案的帮助都将受到赞赏。

我正在寻找的解决方案类似于 Angular 1.x 的这个问题:Angular将并行和链式请求与 $http.then() 和 $q.all() 结合起来

完整代码位于http://plnkr.co/edit/xH6VJo

来源是 src/dash.ts

这是 Angular 5 和 typescript。

export class dash implements OnInit {
  sometext = 'Some text ...';
  private httpOptions = {
    headers: new HttpHeaders({ 'Content-Type': 'application/json' })
  };
  constructor(private http: HttpClient) {}
  click_me(): void {
    this.sometext = '';
    forkJoin([
      of(this.first_()),
      of(this.second_())
      ]).subscribe(val => {
        this.sometext = 'done...';
      })
  }
  first_(): void {
    this.http.get<any>('data/sampledata.json',this.httpOptions).subscribe(val=> {
    this.sometext = val.items[0].value; …
Run Code Online (Sandbox Code Playgroud)

observable rxjs angularjs angular angular5

1
推荐指数
1
解决办法
2783
查看次数

标签 统计

angular ×1

angular5 ×1

angularjs ×1

observable ×1

rxjs ×1