等待map函数完成typescript

等待map函数完成typescript,typescript,dictionary,Typescript,Dictionary,for-each循环不等待map函数完成,因此id未定义。 如何确保所有id都已映射 getIndexes(){ this.http.get<{data: {id: number, caption:string}[], paging: any, next: string}>(this.baseUrl +'me/media/?access_token=' + this.users + '&fields=id,caption&limit=9', {responseTyp

for-each循环不等待map函数完成,因此id未定义。 如何确保所有id都已映射

getIndexes(){
 this.http.get<{data: {id: number, caption:string}[], paging: any, next: string}>(this.baseUrl +'me/media/?access_token=' + this.users + '&fields=id,caption&limit=9',
{responseType:"json"}).subscribe(response =>
  {
    const data = response.data.map(async l => {
      l.id
    })
    data.forEach(
    id => {
      this.http.get<{ media_url: string; id: string; }>(this.baseUrl + id + '/?access_token=' + this.users + '&fields=media_url').subscribe(res => {
        console.log(this.list);
        this.list.push(res.media_url);
        console.log(this.list);
        this.gallery.next(this.list);
      });
    }

  );
  }
)
}
getindex(){
this.http.get(this.baseUrl+'me/media/?access_token='+this.users+'&fields=id,caption&limit=9',
{responseType:“json”}).subscribe(response=>
{
const data=response.data.map(异步l=>{
l、 身份证
})
data.forEach(
id=>{
this.http.get(this.baseUrl+id+'/?access_-token='+this.users+'&fields=media_-url')。订阅(res=>{
console.log(this.list);
this.list.push(res.media\u url);
console.log(this.list);
this.gallery.next(this.list);
});
}
);
}
)
}

试着像这样使用wait

getIndexes(){
 this.http.get<{data: {id: number, caption:string}[], paging: any, next: string}>(this.baseUrl +'me/media/?access_token=' + this.users + '&fields=id,caption&limit=9',
{responseType:"json"}).subscribe(async response =>
  {
    const data =await response.data.map(l => {
      l.id
    })
    data.forEach(
    id => {
      this.http.get<{ media_url: string; id: string; }>(this.baseUrl + id + '/?access_token=' + this.users + '&fields=media_url').subscribe(res => {
        console.log(this.list);
        this.list.push(res.media_url);
        console.log(this.list);
        this.gallery.next(this.list);
      });
    }

  );
  }
)
}
getindex(){
this.http.get(this.baseUrl+'me/media/?access_token='+this.users+'&fields=id,caption&limit=9',
{responseType:“json”}).subscribe(异步响应=>
{
const data=wait response.data.map(l=>{
l、 身份证
})
data.forEach(
id=>{
this.http.get(this.baseUrl+id+'/?access_-token='+this.users+'&fields=media_-url')。订阅(res=>{
console.log(this.list);
this.list.push(res.media\u url);
console.log(this.list);
this.gallery.next(this.list);
});
}
);
}
)
}