I agree, we realy should avoid the Node event dispatch loops in a Function. Though you might want the odd HTTP request — with caution. This node-lite might be more useful. Rather than running say Express, you can at least use middleware in a single “thread” context with a little glue, and perhasp mocking of the Express input and output objects.
As for what should we use at the infrastructure level for asynch graphs? Well, it’s gotta be observable streams :) RxJS or xstream, etc. cycleJS providesa great model separating drivers from the logic. Azure Functions already does some of that with bindings.
I even toyed with cyclejs INSIDE a function — http://azureserverless.com/2017/02/25/using-reactive-streams-on-serverless-with-cyclejs-xstream-and-azure-functions/