sql >> Database >  >> NoSQL >> MongoDB

Gebruik wait.for met nodejs en mongoskin om callback hell te voorkomen

Ik ben niet bekend met CoffeeScript, corrigeer me alstublieft en ik zal dit antwoord aanpassen.

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

Zoals u kunt zien, kunt u voor "getUser", als de methode zo eenvoudig is, beter uw versie gebruiken, met de callback.

"waar plaats ik de launchFiber()?"

je plaatst de launchFiber wanneer er een verzoek binnenkomt. zie https://github.com/luciotato/waitfor#proper-use




  1. docker-compose:opnieuw verbinding geweigerd tussen containers

  2. gebruik .where() Query met .update() via mangoest?

  3. StackExchange.Redis met Azure Redis is onbruikbaar traag of veroorzaakt time-outfouten

  4. MongoDB Aggregration Framework en Java Driver zorgen ervoor dat $ of conditie werkt