首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使存储项生效

使存储项生效
EN

Stack Overflow用户
提问于 2020-10-18 03:18:18
回答 1查看 41关注 0票数 0

我的效果很小,我需要获得动作数据( nanoId ),我需要使用这个nanoId来选择数据:

代码语言:javascript
复制
  @Effect()
  syncObj$ = this.actions$.pipe(
    ofType(ObjActions.Actions.SYNC_NEW_OBJ),
    mergeMap(({nanoId, obj}) => {
      this.store.pipe(select(getObjByNanoId(nanoId), first())).subscribe(eObj => {
        // return [] <-- error if I try to return pipe result here and remove return below
      })
      return [] // <-- this is below return
    }
    )
  );

我想到了withLatestFrom(),但正如我所理解的,它需要一个额外的管道。我的目标是从操作中捕获对象和nanoId,然后选择一个带有nanoId in store (eOnj)的对象,并比较它的一些字段。谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-18 05:18:47

注意,您不必在withLatestFrom中订阅,因为它需要一个可观察的。

代码语言:javascript
复制
 @Effect()
  syncObj$ = this.actions$.pipe(
    ofType(ObjActions.Actions.SYNC_NEW_OBJ),
    mergeMap(action => {
     
      return of(action).pipe(
        withLatestFrom(
          this.store.pipe(select(getObjByNanoId(nanoId)),
        )
      )
    }),
    mergeMap(([action, obj]) => {
      // code here
    })

  );
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64409388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档