【发布时间】:2021-12-16 04:08:25
【问题描述】:
我通过异步调用 API 端来获取数据集。但是我的客户端方法返回可观察的。 所以我将它转换为 promise 并返回我的值。
const statusTypes = ['paid','default','open'];
const data: any = await this.reportService.getReport(payload).toPromise()
const invoices = await this.getFilteredDataByStatusArray(data.invoices, statusTypes );
const tempSelectedStaus = [...statusTypes ];
const withoutOverdueStatus: any = await this.getNotOverdueList(tempSelectedStaus);
//some code here
这是代码中的getNotOverdueList方法,
async getNotOverdueList(arrayData) {
return await new Promise((resolve, reject) => {
try {
return resolve(arrayData.filter(s => s !== 'Overdue'));
} catch (err) {
this.logger.error(err);
return [];
}
});
}
之后我的代码中的代码行很少,但是在执行此方法 getNotOverdueList 时这些行没有执行。此方法执行后返回。
你知道为什么会这样吗?
【问题讨论】:
标签: angular typescript async-await