No estoy familiarizado con CoffeeScript, corrígeme y editaré esta respuesta.
all: (req,res)->
var result = wait.forMethod(@em.collection(@collection).find(), "toArray")
roadmaps = []
for r in result
r.user = @getUser(r.user.oid)
roadmaps.push r
res.send(roadmaps)
getUser: (oid)->
try
return wait.forMethod(@em.collection('user'),"findOne",{_id:new @objectId(oid)})
catch(err)
return undefined
Como puede ver, para "getUser", si el método es así de simple, es mejor que use su versión, con la devolución de llamada.
"¿dónde poner el launchFiber()?"
pones el launchFiber cuando llega una solicitud. consulte https://github.com/luciotato/waitfor#proper-use