地图使用条件

Use condition with map

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === this.ticket.userId || user.data.isCsm || user.data.owner));

我有一个像上面那样的可观察对象,我想添加另一个条件

this.ticket.status !== 'Archived'

我正在尝试

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === this.ticket.userId || user.data.isCsm || user.data.owner) && this.ticket.status !== 'Archived');

但编译器抛出错误。如何添加?

看来你把新条件放错地方了,应该是这样的:

canBeTransferred$ = this.userService
.getCurrentUser()
.pipe(map((user) => user.data.id === (this.ticket.userId || user.data.isCsm || 
user.data.owner) && this.ticket.status !== 'Archived'));

只需将所有现有条件括在括号中,并在右括号旁边添加另一个条件。

user.data.id === (this.ticket.userId || user.data.isCsm || 
user.data.owner) && this.ticket.status !== 'Archived'