【发布时间】:2021-12-26 11:40:49
【问题描述】:
我正在使用 Angular 6,我刚刚发现了 pipe 和 mergemap。
基本上,我正在调用一项服务来从 assets 文件夹中读取两个不同的 csv 之一(用户选择读取哪一个),从每个 csv 中获取日期并使用该日期从数据库中选择数据,这将用于创建图表。
所以,我做的是
this.service.getCsv().pipe(
mergeMap((data) => {
let dtLst = getDate(data);
return this.service.getDB(dtLst);
})
).subscribe((result) => {
switch(csvType) {
// create first line graph
// create another line graph
}
})
两个 csv 都变成了折线图,第一个工作正常,但第二个抛出 Uncaught (in promise) 错误。
错误是:
ERROR Error: Uncaught (in promise):
TypeError: Cannot read properties of undefined (reading 'type')
TypeError: Cannot read properties of undefined (reading 'type')
at Function.value (apexcharts.common.js:6)
at t.value (apexcharts.common.js:14)
at t.create (apexcharts.common.js:6)
at apexcharts.common.js:14
at new ZoneAwarePromise (zone.js:910)
...
我对两个折线图使用顶点图和相同的模板。
问题是即使它抛出 Uncaught (in promise) 错误,两个图表都会显示(在开发中)。这不像是零件丢失或不显示。它按预期工作。
但是,我担心的是,如果我发布并且它在 prod 中运行,那么它可能会崩溃或发生其他事情。所以,在我发布之前,我想修复这个错误,但我不知道该怎么做。
我试图捕捉错误,但由于图表显示,我认为我无法捕捉有用的错误日志。
【问题讨论】:
-
错误是什么?哪条线抛出它
-
@Antoniossss 就是这样。错误不在我的代码中。我更新了我的帖子。
-
看起来图形配置或输入数据中缺少某些内容。 Double chech 顶点图表文档
-
@Antoniossss 好的,会的。由于图表显示,我怀疑这是一个大问题,但只是为了彻底。
标签: angular promise pipe subscribe