这是使用express和async的CoffeeScript片段。如何让最终回调函数知道模板的值?
app.get '/', (req, res) -> template = 'main'
async.parallel([
(callback) ->
db.collection1.find(
{},
(err, data) ->
if !err && data
callback null, data
else
callback null, null
),
(callback) ->
db.collection2.find(
{},
(err, data) ->
if !err && data
callback null, data
else
callback null, null
)
], (err, results) ->
console.log template
)
答案 0 :(得分:1)
将async
块放在app.get
回调中(template = 'main'
下方)。像这样:
app.get '/', (req, res) ->
template = 'main'
async.parallel([
(callback) ->
db.collection1.find(
{},
(err, data) ->
if !err && data
callback null, data
else
callback null, null
),
(callback) ->
db.collection2.find(
{},
(err, data) ->
if !err && data
callback null, data
else
callback null, null
)
], (err, results) ->
console.log template
)