Angular 角度重复@effect:检索有效负载时出错

Angular 角度重复@effect:检索有效负载时出错,angular,typescript,redux,ngrx,Angular,Typescript,Redux,Ngrx,我在使用ngrx/@effect检索有效负载时遇到一些问题 //DELETE TASK @Effect({ dispatch: false }) deleteTasks$: Observable<Task> = this.actions.ofType(fromActions.DELETE_TASK) .map((action: fromActions.DeleteTaskAction) => action.payload) .pipe( switch

我在使用ngrx/@effect检索有效负载时遇到一些问题

  //DELETE TASK
  @Effect({ dispatch: false })
  deleteTasks$: Observable<Task> = this.actions.ofType(fromActions.DELETE_TASK)
  .map((action: fromActions.DeleteTaskAction) => action.payload)
  .pipe(
    switchMap((payload) =>
      this.taskService.DeleteTask(payload).pipe(map(data => {
        return data;
      },
        error => console.log(error)
      )))
  );
//删除任务
@效果({dispatch:false})
deleteTasks$:Observable=this.actions.ofType(fromActions.DELETE\u TASK)
.map((操作:fromActions.DeleteTaskAction)=>action.payload)
.烟斗(
开关映射((有效负载)=>
this.taskService.DeleteTask(有效负载).pipe(映射(数据=>{
返回数据;
},
error=>console.log(错误)
)))
);
错误:此.actions.of类型(…).map不是函数

这是这个项目,

非常感谢你。
Andrea

您应该在管道函数中使用type方法。 例如:

@Effect({ dispatch: false })
getTasks$: Observable<Task[]> = this.actions.pipe(
 ofType(fromActions.GET_TASKS),
 switchMap(() =>
  this.taskService.GetTasks().pipe(map(data => {
    return data;
  },
    error => console.log(error)
 )))
)
@Effect({dispatch:false})
getTasks$:Observable=this.actions.pipe(
类型(来自Actions.GET_任务),
开关映射(()=>
this.taskService.GetTasks().pipe(映射(数据=>{
返回数据;
},
error=>console.log(错误)
)))
)

下面是一个固定的示例:

这是什么。操作?谢谢。唯一的问题是它运行了两次。您是否可以更精确地说明什么是“运行两次”?如果在DeleteTask服务中添加一个警报,您将看到它运行了两次,另外,如果您检查控制台,您可以看到它运行两次http请求,这是因为您订阅了两次效果。在AppModule u r中,在“EffectsModule.forRoot([TaskEffects])”行中订阅。我可以稍后修复我的代码以向您显示问题的确切位置。您好,我在两次通话中仍然遇到问题。。。。同时,我把你的问题说成“完成”