is it possible to spin an event loop outside of graal-node? Promises are not working which is... sad I guess. Modern JS is all about async functions, generators and promises
we tried to understand how it's working in graal-node, and it's very simple - GraalVM have its own fork of Node, so it just rely on Node's implementation of the event loop. It's not reusable inside JS execution context created inside a raw Java process
Of course it's possible to spin up an event loop outside of GraalVM's node. For example, I'm pretty sure deno for example has an event loop, vert.x has an event loop, plenty of other projects have event loops.
And of course promises are available and working with GraalVM. Promise is a part of ecmascript, look
https://kangax.github.io/compat-table/es6/Code that relies on the node availability and services it offers, like the event loop, of course doesn't work in a js engine that doesn't have node. This is very similar to how it won't work in v8, quickjs, etc.