Typescript &引用;对象的类型为';未知'&引用;在RxJS操作中

Typescript &引用;对象的类型为';未知'&引用;在RxJS操作中,typescript,rxjs,Typescript,Rxjs,我有一个如下的源代码,我不知道为什么我在第143行出错,但在第137行我没有得到这样的错误。你知道如何确保第143行的类型是正确的吗?也许我应该添加一些类型,如果是,在哪里 我还以纯文本形式插入源代码: exhaustMap(action => // call asyncProcess() and delay until promise is fulfilled components .deleteComponent(action.payload.id, action.p

我有一个如下的源代码,我不知道为什么我在第143行出错,但在第137行我没有得到这样的错误。你知道如何确保第143行的类型是正确的吗?也许我应该添加一些类型,如果是,在哪里

我还以纯文本形式插入源代码:

exhaustMap(action =>
  // call asyncProcess() and delay until promise is fulfilled
  components
    .deleteComponent(action.payload.id, action.payload.projects, action.payload.useCases)
    .pipe(
      // map promise result to success action
      mergeMap(() => {
        filterAction(deleteComponentAction.request),
        mergeMap(action =>
          components.deleteComponent(action.payload.id).pipe(
            mergeMap(() => of(deleteComponentAction.success(), fetchCategoryComponentList.request({category: "gateway"}))),
            catchError((error: Error) => of(deleteComponentAction.failure(errorHandler(error))))
          )
        )
      }),

这是一个不确定的结果,因为我不知道您的函数返回什么,但请尝试一下,让我知道它是如何运行的:

exhaustMap(action =>
// call asyncProcess() and delay until promise is fulfilled
components
.deleteComponent(action.payload.id, action.payload.projects, action.payload.useCases)
.pipe(
  // map promise result to success action
  mergeMap((deleteComponentAction: CorrectTypeHere) => {
    filterAction(deleteComponentAction.request),
    mergeMap((filterAction: CorrectTypeHere )=>
      components.deleteComponent(filterAction.payload.id).pipe(
        mergeMap((deleteComponentAction: CorrectTypeHere) => of(deleteComponentAction.success(), fetchCategoryComponentList.request({category: "gateway"}))),
        catchError((error: Error) => of(deleteComponentAction.failure(errorHandler(error))))
      )
    )
  }),

我认为问题出在第140排。在这里放置一个
mergeMap
操作符,并以
()=>{//do stuff}
的形式向其传递一个函数。这里的关键点是,在这个函数体的定义中使用了大括号


传递给
mergeMap
的函数必须返回一个可观察值,而使用大括号这一事实要求使用显式
return
来定义返回值。但是,如果我查看函数体(第141-147行),我没有看到任何
return
语句返回可观察到的值。这是您错误的根本原因。然后,我不清楚您想用第137行的
mergeMap
实现什么,但是,无论您想做什么,请确保您确实返回了一个可观察的对象。

mergeMap的项目函数至少需要一个参数:,所以请尝试
mergeMap(x=>{
我尝试过,但不起作用。

-(好的。
action
是什么类型?
deleteComponent()
返回什么?