我正在使用 Koa 和 Node 0.11 构建一个简单的服务器。我希望在用户从我的网站提交查询时向我发送一封电子邮件。当然,如果电子邮件由于某种原因无法发送,我想提醒用户,但我不确定“等待”这种情况发生的最佳方式。
我的相关服务器代码非常简单:
app.put('/inquiry', function *() {
var status = yield sendEmail('test', "my message", "me@mysite" );
this.body = status;
});
function sendEmail(subject, message, to) {
var fromEmail = 'you@yoursite.com';
var tags = ['subject'];
var to = {email: to};
return function() {
mandrill('/messages/send',
{
message: {
"from_email":fromEmail,
"to":[to],
"text":message,
"tags":tags
}
},
function (error, response) {
if (error) {
console.log(JSON.stringify(error));
return error;
}
else {
console.log("Mandrill result: "+response);
return response;
}
};
);
};
};
我遇到的问题是 Mandrill.send() 函数没有返回任何东西,我不确定最好的办法是什么。