我正在尝试使用Node中的passwordless library来发送不同的电子邮件HTML /文本正文,具体取决于具体情况。
目前它的所有工作都完美如示例所示。但我想要的是能够根据登录的人将电子邮件的正文设置为模板。
我已经可以指定要使用的传递方法,但我不一定需要不同的传递方法,但是能够将另一个可选对象传递给addDelivery
回调:
passwordless.addDelivery(
function(tokenToSend, uidToSend, recipient, callback) {
var message = {
"html": emailText(true, tokenToSend, uidToSend),
"text": emailText(false, tokenToSend, uidToSend),
"subject": config.mandrill.subject,
"from_email": config.mandrill.from,
"from_name": config.mandrill.fromname,
如果我可以将对象传递给该匿名函数,那么我将被设置。我基本上可以传递消息对象
我认为这需要以某种方式从passwordless.requestToken
passwordless.requestToken(
function(email, delivery, callback) {
的某个地方。
任何能够提供帮助的人都将非常感激
答案 0 :(得分:0)
您可以通过closures传递对象。基本上,您可以使用匿名函数范围之外的变量。例如,在您的代码中,您可以执行类似
的操作var messageObject = ...;
passwordless.addDelivery(function(tokenToSend, uidToSend, recipient, callback) {
message = messageObject;
...
闭包非常有用,拥抱它们!