sig*_*mus 1 asynchronous mongoose promise coffeescript express
我有以下代码,我想避免嵌套回调:
app.get '/performers', (req, res) ->
conductor = require('models/conductor').init().model
soloist = require('models/soloist').init().model
orchestra = require('models/orchestra').init().model
chamber = require('models/chamber').init().model
performers = {}
conductor.find {}, (err, result) ->
performers.conductor = result
soloist.find {}, (err, result) ->
performers.soloist = result
orchestra.find {}, (err, result) ->
performers.orchestra = result
chamber.find {}, (err, result) ->
performers.chamber = result
res.json performers
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我发现async
图书馆比这种事情的承诺更清晰.对于这个特定情况,async.parallel
会很好.
我对coffeescript并不是很熟悉,但它看起来像这样:
performers = {}
async.parallel [
(callback) ->
conductor.find {}, (err, result) ->
performers.conductor = result
callback err
(callback) ->
soloist.find {}, (err, result) ->
performers.soloist = result
callback err
(callback) ->
orchestra.find {}, (err, result) ->
performers.orchestra = result
callback err
(callback) ->
chamber.find {}, (err, result) ->
performers.chamber = result
callback err
], (err) ->
res.json performers
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2934 次 |
最近记录: |