Я построил пользовательский канал для возврата строки:
transform(value: string, arg?: any): any {
if(this.result == null){return null;}
return this.vs.GetById(value).then((variant) => {
this.result = variant[arg];
}).finally(() => {
return this.result;
})
}
Я называю это так:
{{ variant.id | getProductVariant: (name$ | async) }}
Сервис, который вызывает канал, выглядит так:
GetById(id) {
let promise = new Promise((resolve, reject) => {
this.http.get(this.base_url+'v2/variations/'+id, this.options).toPromise().then(res => {
var results = res['data'];
resolve(results);
}, msg => {
reject(msg);
});
});
return promise;
}
Однако в этом примере возвращается только [object Promise]
вместо name
. Чего мне не хватает?