MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Usando wait.for com nodejs e mongoskin para evitar callback hell


Eu não estou familiarizado com CoffeeScript, por favor me corrija e eu editarei esta resposta.
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 você pode ver, para "getUser", se o método for tão simples, é melhor você usar sua versão, com o callback.

"onde colocar o launchFiber()?"


você coloca o launchFiber quando chega uma requisição. veja https://github.com/luciotato/waitfor#proper-use