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 に答える