首页 > 解决方案 > 等待角度订阅者的响应

问题描述

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

  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 

  } 
})

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

标签: javascriptangulartypescript

解决方案


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

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


推荐阅读