rxjs相关内容

如何在 Angular 中正确实现 ngOnDestroy()?

我有一个带计时器的子组件,每 2 秒我向服务器发送一次 api 调用.只要用户在页面上,即使他/她参加婚礼并打开页面(父组件窗口),我也需要执行此调用. 这是我的组件中的一些代码: this.myTimer = Observable.timer(1, 2000);这个.myTimer.mergeMapTo(this.myService.doSomeWork(this.myId)).subs ..
发布时间:2022-01-01 22:42:19 其他开发

如何使 rxjs 弹珠同步分组只占用一帧

根据https://github.com/ReactiveX/rxjs/blob/master/doc/writing-marble-tests.md '--(abc)-|':在第 20 帧,发出 a、b 和 c,然后在第 80 帧完成 那么我如何表示“在第 20 帧,发出 a、b 和 c,然后在第 40 帧完成. 即我怎样才能阻止同步组本身占用帧? 解决方案 cartant 在 ..
发布时间:2022-01-01 22:41:48 其他开发

RxJS 等到承诺解决

我仍在研究响应式编程,所以我很确定这是非常基础的,但是流转换的数量对于初学者来说是相当难以承受的. 我正在从 DOM 事件创建一个 Observable.此事件应依次触发 REST 调用,所有其他 DOM 事件将被忽略,直到此事件得到解决. const stream = Observable.fromEvent(document, 'some-event')溪流.flatMap(() => ..
发布时间:2022-01-01 22:41:42 前端开发

Rxjs 在使用主题的反应文本输入组件上去抖动不会在无状态/功能组件上批量输入文本

我正在尝试更深入地研究 rxjs 并发现了一个问题,即我尝试去抖动的输入字段在每次按键时都会调度一个事件,去抖动只保存输出但会生成如下树: aas(延迟 - 等待 200 毫秒,然后同步触发其余部分)阿斯达自卫队asdfg.... 相同的代码在类组件中按预期工作(https://stackoverflow.com/a/44300853/1356046) 但无法理解为什么它不适用于无状态组件.这 ..
发布时间:2022-01-01 22:41:34 前端开发

使用 RxJs Observable 实现延迟队列

假设我们有一个布尔值队列(我们不需要复杂的数据结构,因为我们只想存储订单的事实).项目可以随时以任何速度进入队列.Observable 将从这个队列中弹出项目并以延迟的方式发出它们,但不需要延迟第一次发出.队列变空后,它会保持等待状态,直到新项目进入队列,它会立即发出.请帮我实现这种行为. 假设用户可以按下一个按钮来增加一个计数器.开始时计数器为 0,用户在 500 毫秒内点击两次.第一次点 ..
发布时间:2022-01-01 22:40:57 前端开发

Angular HTTP Interceptor 如何链接一个 observable

我正在使用 Azure AD adal 库进行身份验证.有一个调用来获取一个返回一个可观察的令牌.如何将这个 observable 添加到拦截中?在下面的例子中,如何让订阅中设置的请求作为 Observable 返回? intercept(request: HttpRequest, next: HttpHandler): Observable>{this.authAzureService.get ..
发布时间:2022-01-01 22:40:51 其他开发

Observable 主题事件监听器

我正在研究 Observables 及其与 EventEmitter 的差异,然后偶然发现了 Subjects(我可以看到 Angulars EventEmitter 是基于它的). 似乎 Observables 是单播的,而 Subjects 是多播的(然后一个 EE 只是一个将 .next 包装在发射中以提供正确接口的主题). Observables 看起来很容易实现 class ..
发布时间:2022-01-01 22:40:41 前端开发

并行触发异步请求,但使用 rxjs 按顺序获取结果

例如: 使用 jquery ajax 并行获取 5 个页面.当 page2 返回时,什么都不做.当 page1 返回时,对 page1 和 page2 做一些事情. //假设有一些操作符可以做到这一点,//那么它可能看起来像这样?Rx.Observable.range(1, 5).someOperator(功能(页面){return Rx.Observable.defer(() => $. ..
发布时间:2022-01-01 22:40:34 前端开发

RxJS 订阅未触发

目前正在学习 RxJS.我在一个服务中有一个整数 selectedCourseIndex,我想订阅一个单独的组件. courses-section.service.ts private selectedCourseIndex: number = -1;//这个数字可以从另一个方法改变private selectedCourseIndexUpdated = new Subject();get ..
发布时间:2022-01-01 22:40:27 其他开发

错误后 rx 损坏时可观察到

我正在尝试使用 ngrx store + ng 效果为我的应用编写登录流程.我设法编写了它并且它在快乐的场景中工作,但是当用户向表单输入错误的值时,服务器以 401 响应,下一次登录尝试无效.我已经读到,在使用 observable 时必须捕获异常,以免“破坏"流,但据我所知,我捕获了异常并且现在仍在工作. 在代码下方; 导出类 LoginComponent {记录 = 新的 Observ ..
发布时间:2022-01-01 22:40:20 前端开发

RxJS 限制相同的值但让新值通过

“给你",有人说,你得到了这个输入的值流,你有点想对它做 distinctUntilChanged() ...... 输入:'1-1----11---2---1122----1---2---2-2-1-2---|'输出:'1-----------2--1-2-----1---2--1-2---|' 到目前为止没什么奇怪的, 但是现在有人说如果同样的值再次出现“没关系",“但前提是不要很快!" ..
发布时间:2022-01-01 22:40:13 其他开发

如何使用 RxJs 推迟对 AJAX 调用的任何请求,直到前一个请求解决

我有一个 observable,它表示由某个外部组件触发的操作.出于这个问题的目的,我们将其称为 createBananaAction.我有一个带有方法 create 的 bananaService 执行 AJAX 请求并将创建的香蕉作为 Promise 返回. 因此,每当有数据从 createBananaAction 到达时,我们都想调用 bananaService.create(). ..
发布时间:2022-01-01 22:40:07 前端开发

我们需要取消订阅 Angular 中的 http 调用吗?

可能是一个愚蠢的问题,但无法轻松找到答案. 在一个 Angular 应用程序中,我使用 Rxjs 进行 http 调用以获取和发布数据到服务器.假设我有一个服务 MyService,其方法如下: getData() {这个.http.get("mybackendurl/mydata").map(res => res.json()).subscribe(data => this.data = ..
发布时间:2022-01-01 22:40:01 其他开发

Angular2:HTTP 错误处理

我正在尝试在基于 Angular2 的 Ionic2 应用程序中重现我使用 Angular 1.x 拦截器和 promise 成功实现的以下行为: 拦截 HTTP 请求错误 如果状态码是401,则 一个.再次请求注册客户端.这将提供一些令牌,我随后可以将其附加到每个请求中. B.重试原始请求并通过promise/observable将结果提供给调用者 如果错误状态不是 ..
发布时间:2022-01-01 22:39:53 其他开发