首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从NGRX/RXJS中的组件调度第一个操作完成后的第二个操作

从NGRX/RXJS中的组件调度第一个操作完成后的第二个操作
EN

Stack Overflow用户
提问于 2018-06-06 03:29:58
回答 1查看 4.4K关注 0票数 2

我刚开始在我的angular应用程序中使用NGRX/RXJS,我遇到了这样的情况:我必须从我的组件中分派一个动作,如果属性为空,它会从API中获取数据,并更新Store_1并设置一个属性,然后再分派另一个动作,该动作使用来自Store_1的数据在Store_2中执行一些函数,并在动作1完成后更新状态,并填写“Store_1”。这是我想出来的代码,但我不认为/相信这是最有效的方法,如果我正确使用运算符的话。

代码语言:javascript
复制
  if(isEmpty(definition.pluralconfig == null))
     {
         this.store$.dispatch(new FormDBAction(definition.formId));

         let id = definition.id;
         this.formLoadSubscription = this.store$.select(getOrderById(id))
         .filter(v => v.pluralconfig != null).subscribe(() =>{

            this.store$.select<TosModel>(getOrderById(id)).subscribe(updatedDefinition => {
              this.store$.dispatch(new OrderDetailAction(updatedDefinition));
            });             
         });
     }
     else{
      this.store$.dispatch(new OrderDetailAction(definition));
     }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-06 06:06:25

所有这些逻辑的效果应该类似于

代码语言:javascript
复制
//Effects file
@Effect()
loadOrderDetail$: = this.actions$.pipe(
ofType(LOAD_ORDER_DETAIL),
flatMap(action => {
    return this.store$.select<TosModel>(getOrderById(action.id)).pipe(first());
})
map(definition => definition.pluralconfig ? new FormDBAction(definition.formId): new OrderDetailAction(definition)})
)

@Effect()
formDb$: = this.actions$.pipe(
ofType(FORM_DB_ACTION),
switchMap(action => {
    ///call api and fire  new FormDbActionSuccess(response.definition) which reducer will store
})

@Effect()
onSuccessOrderDetail$: = this.actions$.pipe(
ofType(FORM_DB_ACTION_SUCESS),
map(action => new OrderDetailAction(action.definition))

//Component
definition$ = this.store.select(getOrderById(id));
store.dispatch( new LoadOrderDetail(id));

看看https://github.com/ngrx/platform/tree/master/projects/example-app中的ngrx示例应用程序,这是我学到最多的

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

https://stackoverflow.com/questions/50707626

复制
相关文章

相似问题

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