具有回调的猫鼬循环

时间:2015-09-24 15:50:04

标签: node.js callback mongoose

我的Express / Node / Mongoose应用程序(coffeescript)中有这样的代码

module.exports.doStuff = (req, res, next) ->
  counter = 0

   Cars.find 'tesla', (err, result) ->

    Animals.count Someparameters, (err, result1) ->
      #do Stuff To Result1 

      calcSome = (start = 0) ->
        start++

        Bikes.find Someparameters, (err, result2) ->
          result.forEach (parsedDoc) ->
            #do Stuff To Result1 Result2 etc

            Dogs.get Someparameters, (err, result3) ->
              #recurse
              calcSome start if start < parsedDataCount
              if start = someGuardValue
                  res.status(202).send
                    status     : 'OK'
                    error      : 'Zeilen erfolgreich berechnet.'
                    type       : 'success'
                    parsedDocs :  parsedDocs
                  return
              return
      # Trigger Recursion
      calcSome start if start < counter
    return

现在我得到两次发送错误的错误,显然回调是异步触发的。我需要在BikesAnimalsDogs之后调用Bikes以便操作数据。我出于其他原因需要recursino。然后,当一切都完成后,需要将一个res.status(202)发送回API请求者。任何想法如何实现?我目前正在研究异步库,但我不确定如何处理我的具体问题。

0 个答案:

没有答案