等待角度订阅者的响应

时间:2021-03-20 11:26:52

标签: javascript angular typescript

我看过多个标题相同的帖子,但没有一个是我的用例所需要的。
我有一个项目数组,项目属性可以有 ('serials','macs','null') 我必须为每个项目调用不同的 API 端点
并且例如在 'model ' 有一系列模型
也需要一个一个发送。 我知道这不是处理这个问题的最佳方式,但这是一个很长的故事,我对设计的这种混乱不承担任何责任。
服务代码:

  createDevice(data: Device) {
    return this.http.post('somewhere', data, {
      headers: this.httpHeader,
    });
  }

组件代码:

 this.sourceDataSet.forEach(item=>{

 if(item.serials){
   item.serials.forEach(serial=>{
  //create it

  })
  
  }
 else if(item.macs){

  item.macs.forEach(serial=>{
  //create it

  })

  }
else{

  // create it 

  } 
})

问题是还有其他属性会受到此影响,我不希望它们受到影响。 有没有办法做到这一点。

1 个答案:

答案 0 :(得分:0)

您可以使用 toPromise() 将其转换为 promise 并使用 await。

https://www.learnrxjs.io/learn-rxjs/operators/utility/topromise

相关问题