On a lower level, we need updated and working ports of libuv and V8. While the latter may be easier to port, libuv requires platform-specific patches.
Specifically, it requires some sort of event queueing system call interface similar to kqueue (Darwin/BSD), epoll (Linux). Haiku has wait_for_objects() which does something similar, but I think that these patches done by hamishm[1] are a better alternative for having a viable event queuing system.
This will be helpful for getting a tokio [2] and mio [3] port mostly working in Haiku.
[1] https://github.com/hamishm/haiku/commits/eventqueue
[2] https://github.com/tokio-rs/tokio
[3] https://github.com/carllerche/mio