Although expected, it is a little clunky/slow to use. Fun to play around with nonetheless, but I wonder whether an Emscripten port of Neovim would be a little sprightlier.
But more importantly, all IO is being ported to libuv, from the blocking calls that are currently being done. This obviously fits Javascript's IO model much better, as you don't have to fake an event loop in Javascript as this port is apparently doing - you just use the event loop the JS implementation provides. After that's done, I'd expect Neovim to work more smoothly as a JS port.