fix: add error handling for async node.handleClick

Wrap node.handleClick() with errorHandling.wrapWithErrorHandlingAsync
to prevent unhandled promise rejections
This commit is contained in:
Yourz
2025-12-15 22:16:31 +08:00
parent ed186f9033
commit 489c82fb3b

View File

@@ -368,6 +368,7 @@ const fillNodeInfo = (node: TreeExplorerNode): RenderedTreeExplorerNode => {
isEditingLabel: node.key === renameEditingNode.value?.key
}
}
const errorHandling = useErrorHandling()
const onNodeContentClick = async (
e: MouseEvent,
node: RenderedTreeExplorerNode
@@ -376,7 +377,9 @@ const onNodeContentClick = async (
selectionKeys.value = {}
}
if (node.handleClick) {
await node.handleClick(e)
await errorHandling.wrapWithErrorHandlingAsync(async () => {
await node.handleClick?.(e)
}, node.handleError)()
}
emit('nodeClick', node, e)
}
@@ -390,7 +393,6 @@ const extraMenuItems = computed(() => {
: []
})
const renameEditingNode = ref<RenderedTreeExplorerNode | null>(null)
const errorHandling = useErrorHandling()
const handleNodeLabelEdit = async (
node: RenderedTreeExplorerNode,
newName: string