Wan_Backup / custom_nodes /ComfyUI-Easy-Use /ComfyUI-Easy-Use-Frontend /src /composable /utils /useChainCallback.js
| /** | |
| * Chain multiple callbacks together. | |
| * | |
| * @param originalCallback - The original callback to chain. | |
| * @param callbacks - The callbacks to chain. | |
| * @returns A new callback that chains the original callback with the callbacks. | |
| */ | |
| export const useChainCallback = (originalCallback, ...callbacks) => { | |
| return function(...args) { | |
| originalCallback?.call(this, ...args); | |
| callbacks.forEach((callback) => callback.call(this, ...args)); | |
| } | |
| } | |
| /** | |
| * Replace new callbacks with error handling. | |
| * | |
| * @param originalCallback - The fallback callback to call when an error occurs. | |
| * @param callbacks - The callbacks to chain during normal execution. | |
| * @returns A new callback that executes callbacks in normal case or originalCallback on error. | |
| */ | |
| export const useTryCatchCallback = (originalCallback, ...callbacks) => { | |
| return function(...args) { | |
| try { | |
| callbacks.forEach((callback) => callback?.call(this, ...args)); | |
| } catch (error) { | |
| console.warn("[EasyUse hijacking failure, return to originalCallback]", error); | |
| originalCallback?.call(this, ...args, error); | |
| } | |
| } | |
| } |