javascript - 等待角度订阅者的响应
问题描述
我看过多个标题相同的帖子,但没有一个是我的用例所需要的。
我有一个项目数组,项目属性可以有 ('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
}
})
问题是还有其他属性会受此影响,我不希望它们受到影响。有没有办法做到这一点。
解决方案
您可以使用 toPromise() 将其转换为 Promise 并使用 await。
https://www.learnrxjs.io/learn-rxjs/operators/utility/topromise
推荐阅读
- big-o - 当 j=i 时对嵌套循环 Big-O 运行时感到困惑
- python - 使用上一页的参数初始化 Django 表单
- css - 背景颜色引导程序不会占用整页的宽度
- git - 使用 git rebase 忽略顽皮文件
- android - 谷歌地图 API 密钥 - Android
- javascript - 将记录添加到不同的选项卡
- php - 在 Codeigniter 中将数组从控制器发送到模型的问题
- excel - 范围为工作簿的 Excel 命名范围从工作表范围命名范围打印
- woocommerce - WooCommerce 迷你购物车的数量选择器/输入
- c++ - 在 Thrift 中,有没有办法避免生成 C++ setter?