我希望能够删除警报,但前提是未将此警报分配给用户。为此,我需要获取用户列表,并检查是否没有用户分配此警报。我设法通过将2个请求与可观察对象链接起来来使其工作,但是有更好的方法来实现这一点吗?
p1.stdout
答案 0 :(得分:0)
您可以使用answer中提到的flatMap
运算符。
deleteAlert(id: number) {
this.usersService.getUsers().flatMap(
(users) => {
if (users.filter((value) => value.alert.id === id).length > 0) {
console.log('Deassing alert to all user first');
} else {
return this.alertService.deleteVillain(id);
}
}).subscribe(data=>{
this.alertsList = this.villainsList.filter(alerts=>alerts.id!==id);
});
}