Я использую асинхронную библиотеку (https://github.com/caolan/async) на узле, пытающемся выполнить несколько асинхронных запросов к базе данных с помощью mongoskin (https://github.com/guileen/node-mongoskin)
). Проблема в том, что при использовании функции карты, например, так
app.post '/events', (req, res) ->
storage.events.getByUser req.session.authId, (events) ->
async.map events, storage.codes.getCountByEvent, (err, results) ->
res.send results
это привязка @
к глобальному пространству имен в функции getCountByEvent
, кто-нибудь, имеющий опыт работы с асинхронной библиотекой, может дать мне руководство по наилучшему способу исправить это?
Вот пример storage.codes
реализации
class Codes
constructor: (db) ->
db.bind 'codes',
getCountByEvent: (event, callback) ->
@.find(event: event._id).toArray (err, res) ->
callback res.length
return db.codes
exports.Codes = Codes
, вызывающей getCountByEvent
за пределами async.map
, она будет работать нормально
Заранее спасибо