2013-03-23 4 views
0

Я хочу получить результат от другой функции (анонимная функция), но я не знаю, как моя результирующая функция является вложенной функцией. Может быть, мне нужно как-то использовать обратный вызов? Вот мой код:Получить значение из вложенных функций в Coffeescript

render: -> 
    console.log @getCommunities() 
    return this 

getCommunities: -> 
    dpd.communities.get (result, err) -> 
     return console.log(err) if err 
     result 

getCommunities() возвращает всегда 'неопределенными'.

Кто-нибудь знает, как решить эту проблему?

Спасибо, rojan

ответ

0

Как насчет этого?

render: -> 
    @getCommunities (err, result) -> 
     if err then throw err 
     console.log result 
    return this 

getCommunities: (callback) -> 
    dpd.communities.get (result, err) -> 
     return console.log(err) if err 
     callback(null, result) 

FYI, это лучшая практика, чтобы передать err как первый арг на обратные вызовы в узле, предполагая, что это на самом деле узел ... просто угадать по ERR обратного вызова

Смежные вопросы