diff --git a/api/node/index.ts b/api/node/index.ts index 05cb9a26193..4d82cb24b4f 100644 --- a/api/node/index.ts +++ b/api/node/index.ts @@ -420,12 +420,16 @@ export function loadFile(filePath: string, options?: LoadFileOptions) : Object { }); instance!.definition().callbacks.forEach((cb) => { + let cbSymbol = Symbol("_callback-" + cb); Object.defineProperty(componentHandle, cb.replace(/-/g, '_') , { get() { return function () { return instance!.invoke(cb, Array.from(arguments)); }; }, set(callback) { - instance!.setCallback(cb, callback); + instance![cbSymbol] = callback; + instance!.setCallback(cb, function (args) { + instance![cbSymbol](args); + }); }, enumerable: true, })