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)
})
Может кто-то помочь моему обещанию над кодом, срабатывает дважды.
Я должен опуститься ниже
-→ отправка электронной почты
→ отправка обещания
Но я получил
-→ отправка электронной почты
→ отправка обещания
-→ отправка электронной почты
Похоже, вы предоставляете как функцию обратного вызова, так и применяете обещающий подход.
Эффективно это означает, что у вас есть две разные функции, выполняемые при выполнении запроса.
Вы можете использовать либо только обещающий подход:
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')
})