我試圖將email-templates
節點模塊轉換爲promise。我使用bluebird進行了promisification,但無法轉換。Bluebird - promisification - promisify所有'email-templates'節點模塊 - 發送郵件
var emailTemplates = Promise.promisifyAll(require('email-templates'));
是promisification節點模塊支持這種轉換還是我在做什麼錯誤?
編輯:
我現在所做的這樣,但想將其轉換爲藍鳥承諾。
var emailTemplates = require('email-templates');
var path = require('path');
var templatesDir = path.resolve(__dirname, '../..', 'assets/templates');
var postmark = require('postmark');
var postmarkKey = MY_POSTMARK_KEY;
var postmarkClient = postmark(postmarkKey);
module.exports = {
sendEmail : function (templateName, locals, callback) {
emailTemplates(templatesDir, function (err, template) {
if (err)
return callback(err, null);
else {
template(templateName, locals, function (err, html, text) {
if (err) {
return callback(err, null);
}
else {
postmarkClient.send({
From: locals.from,
To: locals.to,
Subject: locals.subject,
HtmlBody: html
TextBody: text
}, function (err, responseStatus) {
if (err) {
return callback(err, null);
}
else {
return callback(err, responseStatus);
}
});
}
});
}
});
}
}
你爲什麼說它不工作?你嘗試了什麼? – jfriend00