0

我遇到了 Angular 4 的问题,我正在构建我的第一个使用 Amazon SDK 的 Angular 应用程序。到目前为止一切顺利,我能够从亚马逊获得响应,并且能够在控制台中打印它们。

我遇到的问题是我无法在视图中显示数据,因为 getData 函数不等待 checkTags 函数。

有人可以指出我正确的方向吗?

getData(){
//I'm fetching all my db instances
this.DataService.getData().subscribe(data => {
 for(let i = 0; i< data.length; i++)
 {
   //I'm fetching all my tags for each instance
   //This function give me back a db object
   //Db {insDBInstanceIdentifier: "abc", DBInstanceStatus: "stopped", DBInstanceClass: "db.t2.micro", DBInstanceArn: "arn:aws:rds:eu-west-1:826d95599:db:abc", managed: "true"}
   //this db object will later be put in an array, so we can loop through it
  console.log(this.checkTags(data[i]));
  this.dataOutput = this.checkTags(data[i])

 }
  return this.dataOutput;
});


checkTags(data_input){

   this.DataService.getTags(data_input["DBInstanceArn"]).subscribe(data => {
       this.managed = false;
          for(let i = 0; i <data.length; i++)
          {
              if(data[i]["Key"] == "managed")
              {
                this.managed = data[i]["Value"];
              } 
          }
          this.db_obj =  new Db(data_input["DBName"],data_input["DBInstanceStatus"],data_input["DBInstanceClass"],data_input["DBInstanceArn"], this.managed  );
          console.log(this.db_obj)

  return this.db_obj;

});

4

0 回答 0