public GetTranslation = (SourceEnglish: string, LanguageId: number, CompanyId: number): string => {
  this.api.GetTranslate(SourceEnglish, LanguageId, CompanyId).subscribe(
    (res: any) => {
      this.SourceResult = res[0].SourceResult;
      // Work Done
      console.log(this.SourceResult);
    },
    err => {
      console.log(err);
    }
  );
  // undefined
  console.log(this.SourceResult);
  return this.SourceResult;
}
            Asked
            
        
        
            Active
            
        
            Viewed 48 times
        
    0
            
            
        
        Prashant Pimpale
        
- 10,349
 - 9
 - 44
 - 84
 
        Mohammed Abdullah
        
- 1
 - 1
 - 2
 
- 
                    If you need to return data then Possible duplicate of [angular 2 how to return data from subscribe](https://stackoverflow.com/questions/39295854/angular-2-how-to-return-data-from-subscribe) – Prashant Pimpale Nov 14 '19 at 05:46
 
1 Answers
0
            Use the async pipe
translatedText$ = this.api.GetTranslate(SourceEnglish, LanguageId, CompanyId).pipe(
  map(res => res[0].SourceResult)
);
and in the template
{{ translatedText$ | async }}
No need for any subscriptions as the async pipe manages the subscribing for you.
        Adrian Brand
        
- 20,384
 - 4
 - 39
 - 60