【问题标题】:Observable error while trying to return function result尝试返回函数结果时出现可观察到的错误
【发布时间】:2021-12-31 20:46:07
【问题描述】:

我需要从 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;
});

我在返回 时收到以下错误 任何想法为什么

【问题讨论】:

  • 提问时格式化代码

标签: javascript angular rxjs observable


【解决方案1】:

mapObjects 的返回类型为Observable&lt;CampaignLineItem[]&gt;。那不是CampaignLineItem[],而是usersData

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多