Jag är inte bekant med CoffeeScript, rätta mig så redigerar jag det här svaret.
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
Som du kan se, för "getUser", om metoden är så enkel, är det bättre att använda din version med återuppringningen.
"var ska launchFiber() placeras?"
du lägger launchFiber när en förfrågan kommer. se https://github.com/luciotato/waitfor#proper-use