为什么Mandrill-api for Node期望多次回调

时间:2014-09-15 11:07:38

标签: mandrill

这个问题主要针对Mandrill的创作者,但任何有添加内容的人当然可以自由回答!

为什么mandrill-api期望发送消息函数中有两个回调?一个用于处理结果,另一个用于处理错误。我不太了解其他编程语言,但我知道在NodeJs中有一个广泛使用一个回调的约定,有2个(有时更多......)参数。第一个参数是错误(如果不存在则为null),第二个参数是结果。

1 个答案:

答案 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

干杯!

相关问题