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