问题标签 [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.
ngrx - 使用 @ngrx/effects 创建加载指示器延迟
我正在尝试创建一个延迟加载指示器的效果,以便每次从 API 检索数据时它不会闪烁或闪烁。这很可能是不知道要搜索什么的情况,因为我敢肯定,我不可能是唯一一个想要在将这样的指示器扔到屏幕上之前给 API 300-500 毫秒响应的人。
有什么东西会破坏这个效果的完成吗?我正在将我的所有动作/状态对记录到控制台,并且正在调用 START_LOADING_DELAY_TIMER,但永远不会完成。
编辑
过早地提出了这个问题,因为我遇到的问题最终无关紧要。这是最终的实现,以防其他人发现这个问题:
- 启动计时器以延迟加载指示灯闪烁
- 如果 a
CancelLoadingDelayTimerAction
被调度(可能是从 API 完成数据检索),停止计时器并且不显示加载指示器。 - 如果计时器在
CancelLoadingDelayTimerAction
调度之前完成,则显示加载指示器。
angular - 是否可以在通过运算符进行转换之前进行观察?
是否有可能?
更详细的问题
我有这样的事情:
transformed
observable 是新的observable 并且它没有连接到初始 observable source
(我无法通过 访问它transformed
,我认为)。是否有可能在使用运算符转换后以某种方式获得初始(在运算符应用之前)可观察?
我的情况
代码:
和 AppendLoader:
我在那里有三个可观察的:
this.actions$
(所有动作)- 从 this.action$
this.action$.ofType(friendsActions.GET_FRIENDS)
(friendsActions.GET_FRIENDS
类型的可观察对象)创建 - 第三个可观察对象(第二个并
switchMap
应用于它)(GetFriendsSuccessAction
/的可观察对象GetFriendsFailureAction
)
我只能访问装饰器中的第三个 observable,因为这个 observable 在getFriends$
属性中。
我想在 AppendLoader 装饰器中做一些动作。我想订阅列表中的第二个 observable,当发出值时,我想显示负载微调器(showLoader()
例如)。我想订阅第三个 observable,当成功/失败值发出时,我想隐藏加载微调器。
angular - ngrx ofType,@ngrx/效果
如果我在我的应用程序模块中声明,我会尝试了解 typeof 效果在 ngrx 中是如何工作的:
我肯定会写效果文件:
我试着理解,现在在运行时我调度了一个动作 this.action$ 被订阅并且每次执行 ofType 来匹配类型?或 ofType 一次执行!?
如果它调用一次,当我调度操作时,效果如何知道每次女巫效果订阅/执行?
谢谢大家!
angular - 如何使用 ngrx/store ngrx/effect 处理结帐
我是 angular2 ngrx/store 和 ngrx/effects 的新手。我已经整理了一个应用程序,我将物品放入商店。我无法正确结帐。我的商店由标题信息(如运输信息)以及作为数组的项目信息组成。像这样:
我的行动:
}
我需要创建一个包含购物车运输信息的标题记录,然后在收到订单号后创建目录信息。我必须为每个功能使用两个休息服务。我能够创建订单。
通过做这个:
我写的效果只有在有效负载中有一个 catalogDetail 时才有效:
javascript - 错误后可观察到 rx 损坏
我正在尝试使用 ngrx store + ng 效果为我的应用程序编写登录流程。我已经设法编写它并且它在快乐的场景中工作,但是当用户在表单中输入错误的值时,服务器以 401 响应,下一次登录尝试没有效果。我已经读过,在使用 observables 时必须捕获异常,以免“破坏”流,但据我所知,我已经捕获了异常并且它现在仍在工作。
下面的代码;
angular - 使用 ngrx 最新版本的 Ngrx App 始终未定义存储对象
我有一个简单的应用程序
没有 NGRX
零件
服务
当我尝试将其转换为 ngrx 时,所有这些工作都很好,它使用存储和效果来工作。
使用 NGRX
在组件中创建了一个状态
行动
效果
减速器
应用程序模块
它转到服务调用,我做了一个日志,但是在组件中获取它时,我得到以下信息
很抱歉,这篇长文只是想让您了解情况。
我关注了这个视频https://www.youtube.com/watch?v=lQi5cDA0Kj8 和这个https://github.com/ngrx/platform/blob/48a2381c212d5dd3fa2b9435776c1aaa60734235/example-app/app/books/reducers/books。 ts
javascript - 角度未定义的组件输入值
我正在尝试将帖子从一个组件传递到另一个具有编辑表单的组件。外部组件获取帖子并传递给内部组件进行编辑,但由于某种原因它没有通过,所以我得到了一堆未定义的错误。
外部组件 html 如下所示:
外部组件打字稿如下所示:
内部组件 html 如下所示:
内部组件打字稿如下所示:
store.select 语句中的外部组件的 console.log 正确地将帖子打印到控制台,但 ngOnInit 函数中的内部组件的 console.log 语句说它是未定义的,因此商店正确调度 LoadPostAction 并从服务器,但在内部组件中,我不断收到 post.content 未定义的错误,并且帖子内容从未出现在表单中。
任何帮助,将不胜感激。谢谢
angular - 如何从ngrx效果多次调度相同的动作
我想从我的效果中多次分派一个动作,为此我正在使用concatMap
,但是当我分派相同的动作时,它会被下一次分派取消。有没有办法在之前的分派完成时分派一个动作。
下面的代码将有助于更好地理解问题。