我看过多个标题相同的帖子,但没有一个是我的用例所需要的。
我有一个项目数组,项目属性可以有 ('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
}
})
问题是还有其他属性会受到此影响,我不希望它们受到影响。 有没有办法做到这一点。
答案 0 :(得分:0)
您可以使用 toPromise() 将其转换为 promise 并使用 await。
https://www.learnrxjs.io/learn-rxjs/operators/utility/topromise