Узел JS + AWS запускается дважды

1
AWS = require('aws-sdk');
AWS.config.region = 'eu-west-1';
ses = new AWS.SES();

var params = {};

return ses.sendEmail(params, function (err, data) {
    console.log('----->sending email')
}).promise().then((data) => {
    console.log('---->sending promise')
}).catch((err) => {
    console.log('----->am in error')
    console.log(err)
})

Может кто-то помочь моему обещанию над кодом, срабатывает дважды.

Я должен опуститься ниже

-→ отправка электронной почты

→ отправка обещания

Но я получил

-→ отправка электронной почты

→ отправка обещания

-→ отправка электронной почты

Теги:
amazon-web-services
aws-sdk

1 ответ

4
Лучший ответ

Похоже, вы предоставляете как функцию обратного вызова, так и применяете обещающий подход.

Эффективно это означает, что у вас есть две разные функции, выполняемые при выполнении запроса.

Вы можете использовать либо только обещающий подход:

ses.sendEmail(params).promise().then((data) => {
    console.log('Email was sent')
}).catch((err) => {
    console.log('There was an error')
})

Или вы можете использовать обратный подход:

ses.sendEmail(params, function(err, data) {
    if (err) {
        console.log('There was an error')
        return
    }
    console.log('Email was sent')
})
  • 0
    Спасибо, приятель ... Это работает сейчас ... Теперь я знаю, как я глуп

Ещё вопросы

Сообщество Overcoder
Наверх
Меню