Я пытаюсь встроить Microsoft PowerBi в мой угловой проект. следующие коды ожидают возврата объекта отчета powerbi, но ничего не возвращается, понятия не имею, почему:
private embedPowerBiReportAndGetPages(htmlElement: HTMLElement, newMyPowerbiReport: MyPowerbiReport): Observable<MyPowerbiReport> {
const config: IEmbedConfiguration = PowerbiHelper.createReportConfig(newMyPowerbiReport);
const microsoftReport: msReport = this.msPowerBiService
.embed(htmlElement, config) as msReport;
return fromEvent(microsoftReport, 'loaded')
.pipe(
tap(() => this.logger.debug('PowerBI: loaded')),
mergeMap(async() => {
this.logger.debug('PowerBI: embed pages loaded');
const msPages: Page[] = await microsoftReport.getPages();
this.logger.debug('PowerBI: msPages', msPages);
newMyPowerbiReport.pages = msPages.map((page: Page) => PowerbiHelper.msPageToEmbeddedPageMapper(page, newMyPowerbiReport));
this.logger.debug('PowerBI: newMyPowerbiReport pages updated', newMyPowerbiReport);
return newMyPowerbiReport;
}),
finalize(() => microsoftReport.off('loaded'))
);
}
Хорошо, обещание внутри mergeMap вызывается и также возвращает результат, из регистратора я вижу PowerBI: обновлены страницы newMyPowerbiReport и массив страниц. но ничего не возвращается.