rxjs相关内容

在 rxjs 中执行高级 http 请求

我有以下对象: 类问题{idQuestion:字符串;问题:字符串;类型问题:字符串;}类答案{idAnswer:字符串;idQuestion:字符串;答案:字符串;}类选项{idOption:字符串;idQuestion:字符串;选项;} 我想填充以下对象: class QuestionOptionsAnswer {问题:问题;答:答;选项:选项[];} 目前,我对每种对象都有一个服务, ..
发布时间:2022-01-01 22:23:46 其他开发

使用 Rxjs 或任何东西侦听 Angular 中的数据库数据更改

我在后端(node.js)中有一个服务,我正在通过 angular 订阅它http 客户端服务,它工作正常.对于我的申请,有不止一个用户.所以其他一些用户可以更改数据库数据.所以每当数据库数据发生变化时,我都会立即订阅它们. 这样所有用户都可以查看一致的数据,即与数据库数据同步的数据.我在角度服务中使用 RXJS Observables. 解决方案 在回答之前,请注意满足您的要求说起来容易 ..
发布时间:2022-01-01 22:23:35 其他开发

Angular 2 rxjs 超时回调

我想在 HTTP 调用超时事件发生时向用户提供反馈. 我试过了: 返回 this._http.post(apiUrl + 'Search/Everything', params, {withCredentials: true, headers: this.headers}).timeout(5000, this._feedbackService.error("自定义错误信息")).map( ..
发布时间:2022-01-01 22:23:07 其他开发

在 ngrx 中获取当前状态

这里在 ngrx 中获取当前状态的解决方案.这个例子很简单——你只需要使用take(1).但是在 take 的 rxjs 文档中它说: 返回指定数量的从一个开始的连续元素可观察序列 为什么取第一个值会得到当前状态(即最后一个值)? 此外,我在使用 Subject 进行单元测试时无法模拟这种行为. 解决方案 ngrx-store 是 length=1 的 ReplaySub ..
发布时间:2022-01-01 22:22:43 其他开发

如何创建一个发出动态请求的 http observable

我有一个发出动态请求的 observable. 例如 getFlowers(params?: any): Observable{返回 this.http.get(`http://flowers.com/flowers`,{ 参数})} 现在,上面的函数返回新的 http 可观察到的每个函数调用.我想以某种方式实现返回相同的可观察实例(尽管进行了不同的 http 调用),以便我可以使用 s ..
发布时间:2022-01-01 22:22:33 其他开发

Observable 继续调用 API 并根据条件更改参数

我已经阅读了 Rx.js repeat 文档以试图找出答案如何根据从 API 收到的响应继续调用 api.我正在调用一个 API,它一次只能发回 2k 条记录.API 会发回一个值供我发送,以便我可以继续接收记录,直到它们返回完成值. 所以流程如下: 发出一个 GET 请求一个查询参数 reqMode='': 使用包含 reqMode 和 value 或 done 的最后一个数组检索 ..
发布时间:2022-01-01 22:22:13 其他开发

RxJS 重构嵌套映射语句

我有一个使用 @angular/http 从 API 加载数据的服务.我想使用此数据为我的 Components 创建检索到的数据的投影. 因此我写了以下代码: getById(id: string) {返回 this.http.get(`https://my-api.io/${id}`).map(response => response.json()).map(合同=>contract. ..
发布时间:2022-01-01 22:21:52 其他开发

RxJS:连接三个promise,区分结果

我有三个承诺,Rest 请求返回数据列表. 第三个有对前两个列表的引用(id),所以当我拥有所有数据时,我想将这些 id 映射到相应的名称. 映射不是问题,我只是使用 Lodash. 但问题是在开始计算这个映射之前等待三个承诺解决. 我想出使用 concat(): Rx.Observable.concat(p1, p2, p3).subscribe(功能 onNext(列表){//将 ..
发布时间:2022-01-01 22:21:39 前端开发

RxJS 5 中的共享重放

根据 RxJS 5 MIGRATION.md 看起来 shareReplay() 已被删除. 为什么? .publishReplay(1).refCount() 是否忠实地复制了行为?基本上,我需要向任何新订阅者重放最新的单个数据集. 解决方案 简短的回答:引用布莱什爵士的话: RxJS 5 试图解决的问题是 ConnectableObservables应该是“可重新连接的" ..
发布时间:2022-01-01 22:21:30 前端开发

展平嵌套的 Observable

我被困在嵌套的可观察地狱中,可以用手做. 我有以下代码块 return this.findUser(term).map( users => {return users.map( user => this.getLastLogin(user.user_id).map( last_login => {user.last_login = last_login;返回用户;}));}); find ..
发布时间:2022-01-01 22:21:17 前端开发

ThrottleTime 操作员的配置参数如何工作?(油门配置)

我已经阅读了 throttleTime 文档,但我不明白完全操作符. 我知道 throttleTime(1000) 是如何工作的.事件到达后,它将跳过所有后续事件 1 秒,然后再次开始此过程. 我难以理解的是 ThrottleConfig 究竟是如何工作的,它是操作符的第三个参数. throttleTime(持续时间:数量,调度程序:SchedulerLike = 异步,config ..
发布时间:2022-01-01 22:21:11 前端开发

RxJs:如何根据可观察的状态进行循环?

我试图让 RxJs 在我的流中循环一个 Observable 直到它处于某种状态,然后让流继续.具体来说,我正在将同步 do/while 循环转换为 RxJs,但我认为相同的答案也可用于 for 或 while 循环. 我以为我可以为此使用 doWhile(),但条件函数似乎无权访问流中的项目,这对我来说似乎违背了目的. 我不完全确定我想要的正确的反应性术语是什么,但这里有一个我想要的 ..
发布时间:2022-01-01 22:21:02 前端开发

如何根据另一个 Observable 重置 RXJS 扫描运算符

我有一个组件,它在呈现虚拟列表中的最后一个项目时触发 onScrollEnd 事件.此事件将执行新的 API 请求以获取下一页,并使用 scan 运算符将它们与之前的结果合并. 这个组件还有一个搜索字段,它会触发一个 onSearch 事件. 如何在触发搜索事件时清除 scan 运算符的先前累积结果?还是我需要在这里重构我的逻辑? const loading$ = new Behav ..

进行第二次 http 调用并在同一个 Observable 中使用结果

我使用的是 angular 2,它是 http 组件. 我想调用一个将返回元素列表的 REST API.该列表的大小限制为 100 个条目.如果有更多项目,将在响应中设置 hasMore 标志.然后,您必须使用参数 page=2 再次调用 API.最好有一个 Observable,同时有两个服务器响应.我的代码看起来像这样: call({page: 1}).map(res => res.j ..
发布时间:2022-01-01 22:20:41 前端开发