Im essayant d'utilisation d'un api externe dans nestjs avec axios.
@Injectable()
export class PIntegration {
constructor(private httpService: HttpService) { }
API = process.env.API || 'http://localhost:3000';
header = { headers: { 'Content-Type': 'application/json' } };
async getPrestacionById(id: string): Promise<Observable<IPrestacion>>{
return this.httpService.get(`${this.API}/prestacion/${id}`, this.header).pipe(map((res) => res.data));
}
}
Et ma classe de service ressemble à ceci:
@Injectable()
export class ProductService{
constructor(private pIntegration: PIntegration){}
async producto(id: string) {
const infoPrestacion = await this.pIntegration.getPrestacionById(id);
console.log({ infoPrestacion })
if (infoPrestacion)
{
if (infoPrestacion.detalles) {
console.log(infoPrestacion.detalles)
console.log("tiene detalles")
}
}
return infoPrestacion;
}
}
Cependant si j'ai de la console.journal de la valeur "infoPrestacion" c'est le résultat:
{
infoPrestacion: Observable {
source: Observable { _subscribe: [Function (anonymous)] },
operator: [Function (anonymous)]
}
}
et il ne reçoit pas à la seconde, car il n'est pas encore résolue. Est-il possible d'attendre le résultat jusqu'à ce qu'il est résolu (je n'ai pas de config pour la HttpModule) ? Le retour se fait de l'objet lui-même "infoPrestacion" mais j'ai besoin de travailler avec les valeurs et de ne pas renvoyer cet objet.