rxjs相关内容

管道操作符时如何返回可观察的`forkJoin`

在我拥有这个运行良好的解析器之前: resolve() {返回 forkJoin(this.getData1(),this.getData2(),this.getData3());} 现在我必须做一些实际上不起作用的事情: resolve() {返回 this.actions$.管道(ofActionSuccessful(SomeSctonSuccess),叉连接(this.getData ..
发布时间:2022-01-01 22:33:30 其他开发

Angular2 http 重试逻辑

我有一个基于令牌的身份验证机制的 API.成功登录后,我将两个令牌存储在浏览器的本地存储中 - 访问和刷新令牌.访问令牌包含在服务器端授权用户所需的所有必要信息,并且具有到期日期.当访问令牌过期时,客户端可以使用刷新令牌请求一个新的访问令牌,并在响应中获得一对新令牌. 在 angular 1.x 中,实现非常简单明了.例如我们可以使用拦截器: httpInterceptor.$inject ..
发布时间:2022-01-01 22:33:19 前端开发

RxJs:有损形式的 zip 运算符

考虑使用 zip 运算符将两个无限的 Observable 压缩在一起,其中之一它发出项目的频率是另一个的两倍. 当前的实现是无损的,即如果我让这些 Observable 发射一个小时,然后我在它们的发射率之间切换,第一个 Observable 最终会赶上另一个. 随着缓冲区越来越大,这将在某些时候导致内存爆炸. 如果第一个 observable 将发射项目数小时,而第二个将在最后发射一个项 ..
发布时间:2022-01-01 22:33:10 前端开发

使用 RxJS 从订阅中返回一个 Observable

我目前有一项服务,可以向 API 发出 HTTP 请求以获取数据.我想对服务中的 observable 执行一些逻辑,但我仍然希望在我的组件中订阅 Observable,以便我可以将任何错误返回给组件和用户. 目前我这样做: //service.tsgetData(): Observable{返回 this.http.get(url).pipe(catchError(this.handle ..
发布时间:2022-01-01 22:32:58 前端开发

测试 rxjs 的正确方法

我带来了“rxjs in action"这本书,刚刚完成了测试部分. 测试 rxjs 代码与通常的测试不同,因为一切都是延迟加载. 在书中,他们提到了两种测试方法,要么通过 done(我使用 QUnit 和 done 信号异步代码完成)或大理石图. 我的问题是,我应该选择上面提到的哪种方法? 解决方案 我经常从同事那里得到这个问题.我终于开始记录我的方法在我的博客上测试 ..
发布时间:2022-01-01 22:32:52 前端开发

TypeScript/Angular try catch,try 块中的任何错误都不会捕获块

我正在使用 Angular 和 TypeScript.我已经使用 try catch 构造在 API 调用的情况下进行错误处理.如果 try 块中发生任何错误,它就不会捕获块.应用程序仅在那里终止. 我也尝试过使用 throw.这是一个示例代码片段, 尝试{this.api.getAPI(Id).subscribe(//this.api 是我的 api 服务,那里有 getAPI(数据:任 ..
发布时间:2022-01-01 22:32:39 前端开发

未完成的 observable 的 forkJoin 替代方案?

构造函数(私人路线:ActivatedRoute,私有 http: Http){//观察参数变化让 paramObs = route.paramMap;//获取数据一次让 dataObs = http.get('...');//订阅两个可观察对象,//在同一级别使用两个解析值} 是否有类似于 forkJoin 的东西在发出参数更改时触发?forkJoin 仅在所有 observable 完成后才 ..
发布时间:2022-01-01 22:32:31 其他开发

合并两个 observables,单个输出

大家好,我正在尝试掌握 RxJS 库和响应式编程的整个概念.我正在尝试将两个 observables 合并为一个.第一个 observable 包含一个对象数组 DefectImages[],第二个 observable 包含一个字符串数组,然后我将其转换为一个 DefectImages[] 数组.之后我想将这两个 observable 合二为一. 在我的代码下面: const obser ..
发布时间:2022-01-01 22:32:23 前端开发

Rxjs 可观察订阅数

在我的 Angular 2 应用程序中,我有许多可观察对象和订阅.当然,我应该在离开页面时取消订阅,但我想知道是否有可能获得活动订阅的数量.仅用于调试信息或当我忘记退订时. rxjs 里有这些信息吗? 解决方案 可能有点晚了,但你可以利用 rxjs-spy. 此解决方案与提议的解决方案等效,而且在我看来,更易于维护. 我通常在 main.ts 中全局启用它,作为一种即发即 ..
发布时间:2022-01-01 22:32:17 其他开发

Angular 6 中的倒数计时器

嗨,我正在尝试获取我在 Stack 上搜索的倒数计时器示例:角度 2 中的时间倒计时 这是我的代码: import { Component, ElementRef, OnInit, OnDestroy } from '@angular/core';import { Observable, Subscription, interval } from 'rxjs';@零件({选择器:'app- ..
发布时间:2022-01-01 22:32:03 其他开发

从流 onError 中恢复的惯用方法

免责声明:这是上一个2个依赖流的安全更新问题的延续 处理 RxJS(或任何其他 RX 实现)中允许流不终止的错误的惯用方法是什么? 相关代码是 function convert(unit, value) {无功请求 = {};请求[单位] = 值;var 转换 = $.ajax({方法:'POST',网址:'./convert.php',数据:请求,数据类型:'json'}).承诺( ..

RXJS 6:新版本的HttpInterceptor

我正在将 rxjs_compat 添加到我的项目中,以便迁移到 v6 的库. 然而,用于全局错误处理的现有 HttpInterceptor 不再编译.不知道该去哪里.各种都试过了.尝试过的所有方法都出现类型不匹配. import { Injectable } from "@angular/core";进口 {HttpEvent,Http拦截器,HttpHandler,请求,HttpResp ..
发布时间:2022-01-01 22:31:34 其他开发

Angular 2 Http 获取响应示例

从 Angular 2 中的 http get 获取 json 数据的正确方法是什么.我正在使用模拟端点测试一些本地数据,我可以在 http.get() 但我无法在本地分配它或者存在一些时间问题.这是我的简单服务: 从'@angular/core'导入{Injectable};从 '@angular/http' 导入 {Http};导入 'rxjs/add/operator/map';//我们现 ..
发布时间:2022-01-01 22:31:26 其他开发

RxJS,如何轮询 API 以使用动态时间戳持续检查更新的记录

我是 RxJS 的新手,我正在尝试编写一个可以完成以下任务的应用程序: 在加载时,发出 AJAX 请求(为了简单起见,伪装成 fetchItems())以获取项目列表. 此后每一秒,发出 AJAX 请求以获取项目. 检查新项目时,仅应返回最近时间戳之后更改的项目. 在 observable 之外不应该有任何状态. 我的第一次尝试非常直接,实现了目标 1、2 和 4. var d ..
发布时间:2022-01-01 22:30:35 前端开发

何时使用 Promise 而不是 observable?

有没有比 observable 更强大的 Promise 的情况?我知道 observables 比 promises 有很多好处.但是有没有什么情况,我应该只使用 observables 上的承诺. 我找到了这个链接,promises vs observables.但这总是向我展示了 observables 比 promises 的好处.我想知道 promise 相对于 observabl ..
发布时间:2022-01-01 22:30:23 其他开发