Cordova + ngrx/effect fire and forget long running 方法冻结 UI

Posted

技术标签:

【中文标题】Cordova + ngrx/effect fire and forget long running 方法冻结 UI【英文标题】:Cordova + ngrx/effect fire and forget long running method freezes UI 【发布时间】:2019-06-28 02:58:39 【问题描述】:

在 Cordova 应用中,火和雾的效果是这样实现的:

@Effect(dispatch: false)
onFireAndForget$ = this.actions$
ofType(MyActionTypes.FireAndForget)
.pipe(
   tap(action => longRunningMethod(action.payload))
)

应用程序的 UI 冻结,直到“longRunningMethod”的执行完成。 有没有办法在单独的线程上执行长时间运行的方法而不影响其他应用程序进程?

【问题讨论】:

这不应该发生。你有复制品吗? 【参考方案1】:

事实证明,这个问题既不在应用程序中,也不在实际实现中。 仅在设备上测试 Cordova 应用程序并在 PC 上使用 chrome 检查它时,才会体验到 UI 缓慢。正常运行应用程序没有问题。

【讨论】:

以上是关于Cordova + ngrx/effect fire and forget long running 方法冻结 UI的主要内容,如果未能解决你的问题,请参考以下文章

在ngrx/effect中访问存储的正确方法

如何在ngrx/effect(redux-observable)中调度多个动作?

@ngrx Effect 没有第二次运行

Angular 5 ngrx Effect 没有导出成员'ofType'

ngrx effect 多次调用observer,但只调度了一个action

如何处理来自 ngrx effect 的 catch 块的错误并将其发送到组件中?