Не получается ответ от вложенного mergeMap Rxjs
У меня есть следующие кодовые адреса, возвращающие наблюдаемые значения из массива, который может быть числовым или нечисловым. Если значения числовые, я могу получить ответ напрямую, но если он не числовой, то сначала мне нужно найти его правильный идентификатор, используя его "Идентификатор происхождения", который является строкой, а затем получить данные.
Но подписка не работает для меня, я не уверен, правильно ли я делаю это или нет
this.addresses
.mergeMap((addrid: any) => {
if (isNaN(Number(addrid))) {
this.partyService.getEntityByExtIdandRequestId(data.requestId, 'ADDRESS', addrid)
.mergeMap((res: any) => {
return this.partyService.getEntity(data.partyId, 'ADDRESS', res.data[0].entity.entityId);
});
} else {
return this.partyService.getEntity(data.partyId, 'ADDRESS', addrid);
}
})
.subscribe((address: any) => {
console.log('Subscribe');
console.log(address);
let addressStr = '';
if (address.data.location.addressLine1 !== null) {
addressStr += address.data.location.addressLine1 + ', ';
}
if (address.data.location.countryCode !== null) {
addressStr += address.data.location.countryCode + ', ';
}
if (address.data.location.postalCode !== null) {
addressStr += address.data.location.postalCode + ', ';
}
addressArr.push(addressStr);
console.log('=========================>Address');
console.log(addressStr);
// this.request.subscription.addresses = addressArr;
},
(err) => {
console.log(err);
});
}