Add try-catch to async IIFEs to prevent unhandled rejections
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1241,53 +1241,56 @@ function getAvgProcessTimeHorizontalBarChart(chartData, content, isSingle, xUnit
|
||||
// Created logic
|
||||
(async () => {
|
||||
isLoading.value = true;
|
||||
try {
|
||||
const routeParams = route.params;
|
||||
const primaryType = routeParams.primaryType;
|
||||
const secondaryType = routeParams.secondaryType;
|
||||
const primaryId = routeParams.primaryId;
|
||||
const secondaryId = routeParams.secondaryId;
|
||||
const typeMap = {
|
||||
'log': 'log_id',
|
||||
'filter': 'filter_id'
|
||||
};
|
||||
const primaryTypeParam = typeMap[primaryType];
|
||||
const secondaryTypeParam = typeMap[secondaryType];
|
||||
const queryParams = [
|
||||
{ [primaryTypeParam]: primaryId },
|
||||
{ [secondaryTypeParam]: secondaryId }
|
||||
];
|
||||
|
||||
const routeParams = route.params;
|
||||
const primaryType = routeParams.primaryType;
|
||||
const secondaryType = routeParams.secondaryType;
|
||||
const primaryId = routeParams.primaryId;
|
||||
const secondaryId = routeParams.secondaryId;
|
||||
const typeMap = {
|
||||
'log': 'log_id',
|
||||
'filter': 'filter_id'
|
||||
};
|
||||
const primaryTypeParam = typeMap[primaryType];
|
||||
const secondaryTypeParam = typeMap[secondaryType];
|
||||
const queryParams = [
|
||||
{ [primaryTypeParam]: primaryId },
|
||||
{ [secondaryTypeParam]: secondaryId }
|
||||
];
|
||||
|
||||
// 取得 Compare Data
|
||||
await compareStore.getCompare(queryParams);
|
||||
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_process_time_by_task);
|
||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_waiting_time_by_edge);
|
||||
};
|
||||
casesByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.freq.cases_by_task);
|
||||
// create chart
|
||||
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_cycle_time, contentData.avgCycleTime, 'date');
|
||||
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
||||
compareDashboardData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency, "Cycle Eff");
|
||||
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_process_time, contentData.avgProcessTime, 'date');
|
||||
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getAvgProcessTimeHorizontalBarChart(
|
||||
compareDashboardData.value.time.avg_process_time_by_task,
|
||||
contentData.avgProcessTimeByTask, true, 'date');
|
||||
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
||||
compareDashboardData.value.time.avg_waiting_time_by_edge,
|
||||
contentData.avgWaitingTimeByEdge, false, 'date');
|
||||
} else {
|
||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
||||
// 取得 Compare Data
|
||||
await compareStore.getCompare(queryParams);
|
||||
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_process_time_by_task);
|
||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_waiting_time_by_edge);
|
||||
};
|
||||
casesByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.freq.cases_by_task);
|
||||
// create chart
|
||||
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_cycle_time, contentData.avgCycleTime, 'date');
|
||||
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
||||
compareDashboardData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency, "Cycle Eff");
|
||||
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_process_time, contentData.avgProcessTime, 'date');
|
||||
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getAvgProcessTimeHorizontalBarChart(
|
||||
compareDashboardData.value.time.avg_process_time_by_task,
|
||||
contentData.avgProcessTimeByTask, true, 'date');
|
||||
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getLineChart(
|
||||
compareDashboardData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
||||
compareDashboardData.value.time.avg_waiting_time_by_edge,
|
||||
contentData.avgWaitingTimeByEdge, false, 'date');
|
||||
} else {
|
||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
||||
}
|
||||
[freqData.value, freqOptions.value] = getLineChart(
|
||||
compareDashboardData.value.freq.cases, contentData.freq, 'count');
|
||||
[casesByTaskData.value, casesByTaskOptions.value] = getCaseByTaskHorizontalBarChart(
|
||||
compareDashboardData.value.freq.cases_by_task, contentData.casesByTask, true, 'count');
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize compare dashboard:', error);
|
||||
}
|
||||
[freqData.value, freqOptions.value] = getLineChart(
|
||||
compareDashboardData.value.freq.cases, contentData.freq, 'count');
|
||||
[casesByTaskData.value, casesByTaskOptions.value] = getCaseByTaskHorizontalBarChart(
|
||||
compareDashboardData.value.freq.cases_by_task, contentData.casesByTask, true, 'count');
|
||||
})();
|
||||
|
||||
// Mounted
|
||||
|
||||
Reference in New Issue
Block a user