Node.js 回调被调用两次

标签 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 个路由调用该函数,它工作得很好。如果我从另一个单独的路由调用它,它会触发回调,但是它说回调变量(函数)未定义。

有什么线索吗?

最佳答案

我建议您将参数记录到 @invite 函数。我怀疑它被调用了两次,一次使用正确的参数,一次使用错误的参数,因为程序中其他地方的错误。

关于Node.js 回调被调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16764160/

相关文章:

javascript - 从 javascript/Nodejs 中未知大小的字节流中解码前置的 VarInt

javascript - ES6 Javascript Promise - 在调用 .then() 之后执行

javascript - 我们可以使用键控函数的对象在运行时定义类吗?

node.js - 同一端口上的 Socket io 集群

node.js - 使用 Node.js 在 DynamoDB 中分页?

python - 扭曲的延迟/回调和异步执行

javascript - bat 侠JS : deeply nested routes

coffeescript - PhantomJS具有多个页面的意外加载行为

Node.js 和 Underscore.js

objective-c - 从 C 函数回调访问 ObjC 对象