Can I make blueprint function return a single value like in C++? I am using WebBrowserWidget->BindUObject(Name, Object, bIsPermanent);

BindUObject() allows js to call unreal functions, however in my experiment, the return value only works for C++ function which returns a single value ie. int func(int arg) { return 0; }. But blueprint function can return multiple values, I imagine it works like void func(int arg, int& result) { result = 0; }, which doesn’t work in js (the promise returned by the function yields undefined). Is there any way to make this work too?

I can, for sure, write UFUNCTION(BlueprintImplementableEvent) int ReturnFromUnreal() const; and implement it in blueprint. But I feel like it is not an optimal solution.