2017-12-04 1 views
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) 
}) 

Kann jemand helfen, meine oben genannten Versprechen wird zweimal ausgelöst.Knoten JS + AWS Versprechen zweimal ausgelöst

Ich sollte unter

erhalten -----> E-Mail zu senden

----> Versprechen Senden

Aber ich habe

-----> E-Mail schreiben

----> Senden Versprechen

-----> Senden von E-

Antwort

2

Es sieht so aus, als ob Sie sowohl eine Callback-Funktion als auch den Versprechen-Ansatz bereitstellen.

Effektiv bedeutet dies, dass Sie zwei verschiedene Funktionen haben, die ausgeführt werden, wenn die Anfrage erledigt ist.

Sie verwenden könnte entweder nur das Versprechen Ansatz:

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

Oder Sie den Rückruf Ansatz verwenden:

ses.sendEmail(params, function(err, data) { 
    if (err) { 
     console.log('There was an error') 
     return 
    } 
    console.log('Email was sent') 
}) 
+0

Dank Kumpel ... Sein jetzt arbeiten ... Jetzt weiß ich, wie dumm ich bin –

Verwandte Themen