问题标签 [ngrx-effects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - Dispatch multiply actions in order in effect - ngrx
I'm wondering how I dispatch multiply actions in order in my effect.
In the above example the first action is not dispatched. The getClients() method and last action are working correctly.
angular - 如何使用我的第一个自定义运算符正确扩展 rxjs/Observable
我试图在我的服务调用中使用重试模式(实际上是:ngrx/store 中的@Effects)并增加延迟间隔。由于我设法为一个调用提供了一个工作代码(即使它看起来没有优化我不想在我的问题中关注这个),我现在想将它提取到一个自定义的 Observable 运算符中,并重复使用它在我所有的服务电话中。
对于如何为新运算符设计 API/用法以及如何使其被 TypeScript 识别,我一无所知。
下面的代码肯定行不通,因为它可能会积累大量问题。
所以,现在我有一个呼叫/效果如下:
而我所追求的是能够在其他效果中重用重试部分,并且具有类似于以下的模式:
为简单起见,我们可以假设延迟回调模式 ( i * 1000
) 对于整个应用程序是恒定的。
下面的代码是我的尝试,但它显然不起作用。
- 我不确定如何为 new 运算符设计 API,什么语法最适合这里。
- 我不知道如何正确声明 new 运算符和 Observable 命名空间或模块,以便 TypeScript 识别新内容。
更新的服务电话:
angular - ngrx - 处理减速器和效果中的错误
尝试使用带有效果模块的ngrx。我正在调度一个动作,通过一个效果做一些异步的事情,然后我正在调度一个新的动作来更新状态,然后重定向。这是我正在做的事情的精简版:
这一切都很好 - 当我调度一个start
动作时,这个效果会启动,调度一个finish
动作,然后重定向回根目录(通过go
从@ngrx/router-store
.
我如何处理失败的事情finishAction
?目前我在控制台中遇到错误,然后go
无论如何都运行。
理想情况下,我想拦截这个失败,并调度另一个动作(所以我可以显示一个模式或其他东西,但不做重定向)
rxjs - 在多个服务调用上使用 combineLatest 时处理错误
使用以下代码(取自ngrx/store中的@Effect())
捕捉错误的最简洁但正确的模式是什么?.catch 应该跟随每个getData*
电话吗?我们不想.catch()
在主@Effect()
链的末端,对吗?
这个问题类似于这个问题,但有点不同,因为我没有在.subscribe()
这里打电话。
rxjs - 如何使用@ngrx DB 将单个项目保存在集合中
我有以下@ngrx
效果,当搜索完成时触发。该SEARCH_COMPLETE
事件发出产品集合。
我想将集合中的每个产品保存到 IndexedDB,而不是将整个集合保存为单个值。为了实现这一点,我Observable
从使用@ngrx
DB observable 的产品中创建了一个新的。我不得不使用subscribe
调用来使其工作。
我的问题是,这是正确的做法吗?还是不使用该方法的更好subscribe
方法?
angular - Ngrx 一次多次分派一个动作
我的应用有 3 个下载按钮 每个按钮单击都会调度DownloadFileAction(payload=fileId) 一个 Effect 将继续监听 Download_File_Action 类型
})
如果同时点击了 1 个以上的按钮,则会分派 2 个 DownloadFileAction 动作
但是,download_attachment$ effect 只监听一个先下载的,然后返回 DownloadAttachmentSuccessAction,所以其他的下载文件不会完成
有什么解决方案或解决方法吗?非常感谢您的想法
ngrx - 如何根据数据的返回类型分支 ngrx 效果链?
我需要根据某些操作的返回值有条件地分支来执行不同的操作,但我需要将结果存储在相同的 results$ 中(上面的代码会通过错误,因为 results$ 被声明了两次,请提出正确的方法来实现这一点)
这不能回答我的问题,因为它基于 Action 进行分支,我的情况是相同的 Action_X 来启动链,但后续步骤需要根据返回的内容而有所不同
angular - 为什么 ngrx / redux 效果必须返回动作?使用像 elm 这样的 noop 操作是否被认为是不好的做法?
我正在使用带有 Angular、ngrx/store 和 ngrx/effects 的 redux 风格的状态管理设计。每当我不从效果返回动作时,我都会收到错误消息:
我研究了这个问题,发现在 elm 架构中有一种叫做“noop”的动作,当你不想用你的效果链接另一个动作时,它什么都不做,你可以调用它。在我看来,到处都调用这个 noop 动作似乎非常重复。我想知道这是否是一个不好的做法。您是否有理由不能产生不返回动作的效果?效果的意图是否总是让一个动作触发另一个动作?我想知道我是否误解了如何使用效果。
谢谢!
angular - 使用 ngrx-store / 效果填充下拉信息
我正在使用带有ngrx-store和ngrx-effects的angular 4。我有一个简单的表单来加载用户信息并让它与效果一起工作,然后调度 Load_User_success 操作来更新商店。
我有个问题。加载信息以填充表单具有的下拉列表并同时使用 ngrx 加载用户信息的最佳方式是什么?
angular - 何时在 angular2 中使用 ngrx/effect
我有一个与 api 通信的 anuglar2 项目。最近决定整合ngrx/store来维护组件的状态,遵循dump-smart组件架构。但是在继续前进的同时,我读到了可以在 api 请求上使用的 ngrx/effect。
我的问题来了,我为什么要使用ngrx/effect库,而不是仅仅从我的容器组件调用我的服务中的相应函数来执行api请求并成功调度操作以将返回的值保存在我的商店中。