1

这是一个使用 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
)
4

1 回答 1

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
  )
于 2012-12-04T05:44:15.027 回答