Node.js回调调用了两次

时间:2013-05-26 22:11:06

标签: node.js callback coffeescript sendgrid

我正在为node.js使用sendgrid库。目前有一个回调,它被解雇了两次。

    @invite = (email, agencyId, callback) ->
  (app.get 'agencies').findOne {_id: agencyId}, {name:1}, (error, agency) ->
    sendgrid.send {
      to: email,
      from: 'yamil.asusta@upr.edu',
      subject: "You have been invited to #{agency.name}",
      html: "<html><body>Have fun</a></body></html>"
    }, (success, message) ->
      console.log arguments
      if success
        console.log callback
        callback()
      else
        console.log message

这是我从控制台获得的

{ '0': true, '1': undefined }
[Function]
{ '0': false, '1': 'Invalid JSON response from server' }
Invalid JSON response from server

问题是,我从1路调用函数,它工作得非常好。如果我从另一个单独的路由调用它,它会触发回调,但它表示回调变量(函数)未定义。

任何线索?

1 个答案:

答案 0 :(得分:0)

我建议你将参数记录到@invite函数中。我怀疑它被调用了两次,一次是正确的参数,一次是由于程序中其他地方的错误导致错误的参数。