angular - 将元素添加到 Observable
问题描述
我正在尝试将元素添加到可观察的列表中,当我调用 .pipe(map... 这迭代两次并添加元素两次时,这效果不佳。
可观察列表:
profesionales$: Observable<Profesional[]>;
添加元素的功能:
this.profesionales$ = this.profesionales$.pipe(map(profesionales => {
return [...profesionales, profesional];
}));
[...profesionales,profesional] 中的最后一个 'profesional' 是添加到列表中的元素。
谢谢。
解决方案
您可以使用 rxjs.mergeMap
并of
添加到 observable。
let profesional = { id: 1, name: "some example profesional" };
this.profesionales$ = this.http
.get<Profesional[]>("some_url")
.pipe(mergeMap(v => of(v.concat(profesional));
注意:我以http
调用 Observable 为例,因为我不确定您的实现。这也很有用 -->学习 rxjs 文档
推荐阅读
- javascript - 如何在 Vue 3 模板中使用导入函数?
- outlook-addin - 由变量正则表达式启动的上下文插件
- javascript - 使用 NETLIFY 表单时的电子邮件验证
- excel - 按颜色渐变的条件格式问题。谢谢
- python - 我应该使用什么方法对具有数千个类别的文本进行分类?
- ios - 何时创建新的 Apple 推送通知服务证书
- python - 在@njit 装饰函数中使用@jitclass 创建字典
- ios - 如何在 iOS 设备上获取所有(或选择一个)注册的电子邮件帐户(针对当前用户)
- javascript - 在中使用 .map标签 - react.js
- c++ - c++ 使用'auto'初始化结构的困难