在我的代码中,我遍历nameArr。在foreach循环中,我从encjaService调用find()方法。我想将调用find()方法的结果设置为encja1变量。现在,当我尝试以这种方式声明encja1变量时,在下一行中,我尝试使用this.encja1.id值在控制台上写入日志。
我的test()方法在组件文件中:
test(nameArr: IName[]) {
this.names = nameArr;
nameArr.forEach(function(item, index) {
console.log('TEST (item.encjaId)=>' + (item.encjaId));
this.encja1 = this.encjaService.find(item.encjaId).subscribe((res: HttpResponse<IEncja>) => res.body);
console.log('TEST (encja.id)=>' + (this.encja1.id));
console.log('TEST (encja.type)=>' + (this.encja1.type));
const element = { lp: index + 1,
oid: item.encjaId,
lastName: item.wholeName,
match: item.matchedAmount + '/' + item.encjasAmount,
description: [{name: 'adam', symbol: 'a'}]
};
ELEMENT_DATA.push(element);
}, this);
}
我在encjaService中的find()方法:
find(id: number): Observable<EntityResponseType> {
return this.http
.get<IEncja>(`${this.resourceUrl}/${id}`, { observe: 'response' })
.pipe(map((res: EntityResponseType) => this.convertDateFromServer(res)));
}
**问题:如何将调用find()方法的结果设置为encja1变量? **