【问题标题】:NgRx ofType operator doesn't recognize actionNgRx ofType 运算符无法识别动作
【发布时间】:2021-02-04 03:43:30
【问题描述】:

我有一个错误,它不会触发任何异常,但不能按预期工作。 有一个简单的动作 f.e.

export const loadSth = createAction('[Data] Load data', props<{ id: string }>());

然后是效果f.e.

getSth$ = createEffect(() => {
  return this.actions$.pipe(
    ofType(loadSth),
    concatMap()
    ...
    )
  )
});

当第一次使用一个 id 调度 action 时,operator ofType 传递了这个 action,但是第二次调用 action(使用另一个 id)被阻塞。 任何想法如何处理它,每次都能充分发挥作用?

【问题讨论】:

  • 效果是否有可能引发错误?如果是,他们会被抓到吗?
  • 原来有一个catchError,但即使没有ofType运算符也没有错误,所以我认为效果并不可疑。

标签: rxjs ngrx ngrx-effects


【解决方案1】:

我不确定,但我认为这里的问题在于 concatMap 运算符,您是否尝试过使用 switchMap 代替?

【讨论】:

    【解决方案2】:

    我昨天更改了对这篇文章的描述(当我找到解决方案时,意识到 desc 是错误的),因为在第一个版本中,我错误地“简化”了这种情况,假设运算符对情况无关紧要。 后来我做了一些更多的测试,并意识到这是因为这个 concatMap,并将其更改为 switchMap (它开始工作),我在编辑摘要中描述了所有这些,认为它会显示:),但不幸的是,在那之后没有任何迹象..(我在这里很新鲜:))。 所以你的建议是对的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      相关资源
      最近更新 更多