Узел без пароля отправляет динамическое тело на запрос токена

Я пытаюсь использовать библиотеку без пароля в Node, чтобы отправлять различные 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) {

где-то.

Любой, кто может помочь, будет принят с благодарностью

1 ответ

Вы можете передать объект через замыкания. По сути, вы можете использовать переменные вне рамок анонимных функций. Например, в вашем коде вы можете сделать что-то вроде

var messageObject = ...;
passwordless.addDelivery(function(tokenToSend, uidToSend, recipient, callback) {
    message = messageObject;
    ...

Закрытия действительно полезны, примите их!

Другие вопросы по тегам