在以角度加载数据之前调用的函数

问题描述 投票:0回答:1

您好,我对angular有点陌生,在加载数据时遇到了麻烦。在下面的代码片段中,有两个服务被调用。在每个服务中,我都会向控制台输出一些内容。在两个服务都运行之后,我有了一段代码,可以将我的订单号另外输出到控制台。但是每次我运行这个。它通过ngOnInit进行了扩展,并将以下信息显示在控制台中。我如何告诉最后一个控制台输出等待直到前两个服务完全完成。

  • 未定顺序
  • 仓库测试仓库名称数组
  • 仓库长18]

    ngOnInit(): void {
    //called first
    this.dataService.sendGetRequest().subscribe((data: any[]) => {
      this.orderInfoList = data;
      console.log("array of depots "+ this.orderInfoList.depots[1].name);
      console.log("length of depots "+ this.orderInfoList.depots.length);
    })
    //called second
    this.dataService.getOrder(+this.orderId).subscribe((data: any[]) => {
      this.order = data;
      console.log("order " + this.order.orderNumber);
    })
    //entered last
    console.log("order " + this.order.orderNumber);
    

    }

您好,我对angular有点陌生,在加载数据时遇到了麻烦。在下面的代码片段中,有两个服务被调用。在每个服务中,我都会向控制台输出一些内容。 ...

angular http lifecycle
1个回答
0
投票

数据服务功能是异步的,因此您需要异步运行它们。由于getOrder不依赖于sendGetRequest的结果,因此可以使用forkJoin并行运行它们。

© www.soinside.com 2019 - 2024. All rights reserved.