quickjspp
quickjspp copied to clipboard
Using lambda or function pointer for JS-callback
From your example:
auto cb = (std::function<void(const std::string&)>) context.eval("my_callback");
is it possible instead to use lambda or function pointer? I tried
auto cb = (void(*)(const std::string&)) context.eval("my_callback");
It compiles, but on run gives TypeError: <null> object expected
.
You can't convert to function pointer. Now it's possible to convert to lambda:
auto cb = (std::function<void(const std::string&)>) context.eval("my_callback"); // cb is std::function
auto cb = context.eval("my_callback").as<std::function<void(const std::string&)>>(); // cb is lambda