Не съм запознат с CoffeeScript, моля, поправете ме и аз ще редактирам този отговор.
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
Както можете да видите, за "getUser", ако методът е толкова прост, по-добре използвайте вашата версия с обратното извикване.
"къде да поставите launchFiber()?"
поставяте launchFiber, когато пристигне заявка. вижте https://github.com/luciotato/waitfor#proper-use