I'm trying to get a base64 from an api. The following code works fine.
private test = null;
ngOnInit() {
this.loadCustomers();
this.test = this.getSiteImage();
}
getSiteImage() {
return this.CustomerService.getCustomerSiteImage('test.com').share();
}
<img class="avatar avatar-xl" src="{{ (test | async)?.image }}" alt="">
But I would rather like to use a function. When I change the code to the following:
getSiteImage(url) {
return this.CustomerService.getCustomerSiteImage(url).share();
}
<img class="avatar avatar-xl" src="{{ (getSiteImage('test.com') | async)?.image }}" alt="">
I like to know why this isn't working and how I can properly achieve this.
---------EDIT:
To help people with the same problem in the future. Just as @thinkinkingmedia suggested. I put the observables in an object with the url as key.
I changed the getSiteImage(url) methode to:
getSiteImage(url) {
if (url in this.imageObservables) {
return this.imageObservables[url];
} else {
this.imageObservables[url] = this.CustomerService.getCustomerSiteImage(url).share();
return this.imageObservables[url];
}
}
(getSiteImage('test.com')
? – Pegeen