Angular - как получить значение из Observable - PullRequest
1 голос
/ 03 августа 2020

Я пытаюсь получить значение из моего Observable (я использую Angular 9):

     public parseSourceData(response: Observable<AgentSummary>) {
        const
          parsedData = {
            ...response,
            rpoStatus: true,
            rpoStatusMessage: '',
            totalRecoveryPoints: response => response.pipe(switchMap( //I try to set response.recoveryPoints value from Observable parameter
              (resp: AgentSummary) => resp.recoveryPoints))
}
return parsedData;
}

AgentSummary имеет поле recoveryPoints, которое я хочу установить в моем новом объекте parsedData. Как это сделать? Я начинаю свой путь с Angular

1 Ответ

1 голос
/ 04 августа 2020
interface ParsedAgentSummary extends AgentSummary{
  rpoStatus: boolean;
  rpoStatusMessage: string;
  rpoStatusMessage: number;
}

function parseSourceData(response: Observable<AgentSummary>): Observable<ParsedAgentSummary> {
  const parsedData = response.pipe(
    map(data=>{
      return  {
        ...response,
        rpoStatus: true,
        rpoStatusMessage: "",
        totalRecoveryPoints: data.recoveryPoints
      }
    })
   );
  return parsedData;
}

Что-то вроде этого даст вам новый Observable с дополнительными параметрами, добавленными к AgentSummary. Думаю, это то, что вы ищете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...