我遇到了 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;
});