尝试 return 函数结果时出现可观察到的错误

Observable error while trying to return function result

我需要从 api 获取结果并将它们订阅到变量。 我的密码是

getInnerData = (obj: CampaignLineItem) => {
  let packetLineItemsParams = graphqlHelper.getWhereParams();
  packetLineItemsParams.where._and.push({
    packet: { _eq: obj.Packet },
  });
  let tempObj: any = { ...obj };
  this._campaignLineItemService
    .getLineItemsByPacket(packetLineItemsParams)
    .subscribe((data) => {
      tempObj.innerDataItems = data.data;
      obj = tempObj;
      return obj;
    });
};

public mapObjects = (items: CampaignLineItem[]): Observable<CampaignLineItem[]> => {
  let usersData: CampaignLineItem[] = items.map((obj) => ({
    ...obj,
    innerDataItems: this.getInnerData(obj),
  }));
  return usersData;
};

this.mapObjects(
  items
).subscribe((data) => {
  this.dataSource.data = data;
});

我在 return 上收到以下错误 任何想法为什么

mapObjects 的 return 类型是 Observable<CampaignLineItem[]>。那不是 CampaignLineItem[],那是 usersData

我认为您可以通过以下方式克服此错误:

import { of } from 'rxjs';
...
return of(usersData);