On Load, I'm calling the function getData() which will read & map the response to Data[] model and returns back the result. But the function returning undefined object though it's value is assigned.
import { HttpClient} from '@angular/common/http';
import {Data} from "../model";
export class Service {  
   constructor(private http: HttpClient) {}
   getData():Data[]{
    var data: Data[];
    this.http.get(url,{ responseType: 'blob'}).subscribe(response => {
      response.text().then(value => {
          data = <Data[]>JSON.parse(value);
          console.log(data);  ----> {Printing the values as expected i.e., Data Array}
       });
    });
    console.log(data);  ----> {Printing Undefined}
    return testData;
   }
   onLoad(){
      var data:Data[] = this.getData();
      console.log(data)  ---------> {Printing Undefined}
   }
}
Data Class :
export class Data{
 id:number;
 name:string;
 value:string;
}
 
     
     
    