rxjs相关内容

在单元测试中模拟带有参数的ngrx存储选择器(角度)

我正在尝试为Angular中的服务编写单元测试. 我想模拟ngrx的store.select函数,以便测试服务对存储选择器返回的不同值的反应.我希望能够分别模拟每个选择器. 我的主要问题是如何模拟参数化选择器. 我以前使用过一个BehaviourSubject,它映射到select函数,但这不允许您为不同的选择器返回不同的值.它不可读,因为您在嘲笑哪个选择器并不明显. 选项1:使 ..
发布时间:2020-05-17 22:16:40 其他开发

如何在ngrx效果中进行http轮询

我有这种效果,我正在尝试使用计时器每x秒轮询一次数据.但是我无法弄清楚计时器应该如何与数据流交互.我尝试在顶部添加另一个switchMap,但是后来我无法将操作和有效负载传递给第二个switchmap.有什么想法吗? 我查看了这篇文章但是我的情况有些不同.我正在通过需要访问的操作传递有效负载,并且正在使用ngrx 6. @Effect() getData = this.actions$ ..
发布时间:2020-05-17 22:16:07 其他开发

更新ngrx/store中的对象

我在Angular 2应用中使用@ ngrx/store. 我的商店中有一个Book对象的列表.我想更新其中一个对象的字段.我也碰巧有一个我要更新的Book实例的Observable(例如selectedBook). 要进行更新,我打算使用UpdateBookAction和新Book的有效负载调用reducer.因此,我通过订阅selectedBook然后调用Object.assign ..
发布时间:2020-05-17 22:15:30 前端开发

浏览器页面刷新期间Angular 5 Ngrx状态丢失

我对angular 5和Ngrx并不陌生,有些我设法实现了登录功能,一旦登录成功,我就将用户带到了仪表板.但是,如果刷新页面,则用户状态似乎丢失了.如何在页面重新加载时使用户状态持久化? 解决方案 即使页面重新加载,如何使用户状态持久化? 作为@ user184994提及的 状态仅保存在内存中.如果您希望它在页面刷新之间保持不变,请转到LocalStorage或sessionS ..
发布时间:2020-05-17 22:15:12 其他开发

在ngrx中获取当前状态

此处是在ngrx中获取当前状态的解决方案.这个例子很简单-您只需使用take(1).但是在take的rxjs文档中它说: 从的开始处返回指定数量的连续元素. 可观察的序列 取第一个值如何获取当前状态(即最后一个值)? 此外,在使用Subject进行单元测试时,我还无法模拟这种行为. 解决方案 ngrx-store是length=1的ReplaySubject,这意味着仅1 ..
发布时间:2020-05-17 22:15:05 其他开发

重新连接Angular和rxjs中的websocket?

我有一个基于ngrx/store(v2.2.2)和rxjs(v5.1.0)的应用程序,该应用程序使用可观察的方法侦听Web套接字中的传入数据.当我启动应用程序时,我会完美地接收到传入的数据. 但是过了一会儿(更新很少出现),连接似乎丢失了,我再也没有收到传入的数据了.我的代码: 服务 import { Injectable, OnInit } from '@angular/cor ..
发布时间:2020-05-17 22:14:51 其他开发

RXJS Pipe中未触发tap()

尽管我更喜欢第一个方法,但我必须采取相同的方法.但是第一种方法似乎行不通. (tap()未触发) // does not work this.actions$.pipe( ofType(LayoutActions.Types.CHANGE_THEME), takeUntil(this.destroyed$), tap(() => { console.l ..
发布时间:2020-05-17 22:14:44 其他开发

#ngrx示例中的SwitchMap与MergeMap

以下是Ngrx示例中的代码: https: //github.com/ngrx/example-app/blob/master/src/effects/book.ts 我的问题是,为什么在第一个@Effect中,它使用switchMap,而其他人使用mergeMap.那是因为第一个@Effect正在处理网络,并且使用switchMap您可以取消先前的网络请求(如果正在运行)? @Effect ..
发布时间:2020-05-17 22:14:23 其他开发

ngrx效果错误处理

关于@ngrx效果,我有一个非常基本的问题:如何忽略在效果执行期间发生的错误,以免影响以后的效果执行? 我的情况如下:我有一个动作(LOGIN)和一个监听该动作的效果.如果此效果内发生错误,我想忽略它.错误发生后第二次发送LOGIN时,应再次执行效果. 我第一次尝试这样做是 @Effect() login$ = this.actions$ .ofType('LOG ..
发布时间:2020-05-17 22:14:17 其他开发

角度2-打字稿:TS2322:无法将“订阅"类型分配给“可观察< MouseEvent>"类型

我正在使用该插件的click-outside指令-> http://embed.plnkr. co/v7BMUv/ 我的TS编译器抛出以下错误: TS2322:无法将“预订"类型分配给“可观察"类型. 订阅类型中缺少属性"_isScalar". TS2339类型“可观察"的属性“取消订阅"不存在. 我的tsconfig.json: { "compileOnSav ..
发布时间:2020-05-12 19:06:31 其他开发

Angular2:鼠标事件处理(相对于当前位置的移动)

我的用户应该能够通过鼠标在画布中移动(或旋转)对象.发生鼠标事件时,屏幕坐标用于计算到最后一个事件的增量(方向和长度).没什么特别的... 鼠标移下(获取第一个坐标) mousemove(获取第n个坐标,计算deltaXY,通过deltaXY移动对象) mouseup(与第2步相同,并停止mousemove和mouseup事件处理) 在这一系列事件之后,应该可以重复执行相同的操作. ..
发布时间:2020-05-12 19:05:03 其他开发

猫鼬光标:http集合中的批量请求

我遇到一个与rxJS和大量集合中的大量HTTP请求(1M +文档)相关的问题 我有以下代码,逻辑很简单.我将集合中的所有文档推送到allplayers数组,并一次向API发出20个批量HTTP请求(猜测您了解其局限性),因此,代码可以正常工作,但我想是时候从此重构它了: const cursor = players_db.find(query).lean().curso ..
发布时间:2020-05-11 02:43:21 前端开发