如何解决Angular 和 RxJS - 在所有值成功发出后发送电子邮件
saveData$ 是一个发出多个值的 observable。
我想在成功发出所有值后发送电子邮件。
目前,每个发出的值都会发送一封电子邮件。
如何在成功发出所有值后发送一次电子邮件?
saveData$.pipe(
switchMap((value) => {
return this.service
.sendEmail(
this.id
)
.pipe(
catchError((error) => {
return throwError({
customErrorType: 'Error sending email on create',error,});
})
);
})
).subscribe();
解决方法
在现有代码中使用如下所示的 last
过滤运算符
saveData$.pipe(
last(),switchMap((value) => {
return this.service
.sendEmail(
this.id
)
.pipe(
catchError((error) => {
return throwError({
customErrorType: 'Error sending email on create',error,});
})
);
})
).subscribe();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。