In general, Microflows are run by the server and Nanoflows are run by the client (browser). There are some cases where this doesn’t apply, like when an object is committed, but this is the overriding difference between the two.
What are you trying to accomplish?
what is definitely not possible is to call a nanoflow from a microflow and then continue the microflow with some result from the nanoflow.
What you could achieve is: update some obect in the client from a microflow. Then have widget which subscribes to this change and then calls the nanoflow. Passing the nanoflow result to a different microflow should then also be possible.
Quite some tricky workaround, so you should really be sure you require it like that. If you could elaborate a bit more on your use case, maybe there is a much better solution.
And to go off the deep end: there is a blog about socket.io https://austinmcnicholas.com/blog/2019/7/23/socketio-mendix-implementation