Matelutex
Matelutex

Reputation: 2220

Angular - how to get the value from Observable

I try to get value from my Observable (I use 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 has a field recoveryPoints I want to set in my new object parsedData. How to do that? I'm starting my journey with Angular

Upvotes: 1

Views: 848

Answers (1)

Adithya Sreyaj
Adithya Sreyaj

Reputation: 1892

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;
}

Something like this would get you a new Observable with the additional parameters added to AgentSummary. I guess this is what you are looking for?

Upvotes: 1

Related Questions