这个问题主要针对Mandrill的创作者,但任何有添加内容的人当然可以自由回答!
为什么mandrill-api期望发送消息函数中有两个回调?一个用于处理结果,另一个用于处理错误。我不太了解其他编程语言,但我知道在NodeJs中有一个广泛使用一个回调的约定,有2个(有时更多......)参数。第一个参数是错误(如果不存在则为null),第二个参数是结果。
答案 0 :(得分:0)
我完全赞同你,安德斯! 当我开始使用这个节点API时,我有点厌倦了这一点。一方面。
我克隆了最新版本(当时1.0.39,现在是1.0.40)并将双回调转换为"标准"错误,res-callback。 这不是针对API的所有部分进行测试,而是针对API的消息部分进行了完美的工作
我还将一些输入参数转换为符合本机JS的参数,例如mergevars。对Messages.prototype.send和Messages.prototype.sendTemplate
进行了此更改Core Mandrill API方式:
"global_merge_vars": [{
"name": "merge1",
"content": "merge1 content"
}],
"merge_vars": [{
"rcpt": "recipient.email@example.com",
"vars": [{
"name": "merge2",
"content": "merge2 content"
}]
}],
预期的方式(以及我改变它的方式,当然;-)
"global_merge_vars": [{
"merge1": "merge1 content"
}],
"merge_vars": [{
"rcpt": "recipient.email@example.com",
"vars": [{
"merge2": "merge2 content"
}]
}],
如果您喜欢,请随意使用或克隆它:
https://bitbucket.org/mraxus/mandrill-api-node/src
干杯!