Я использую NodeJS env с безсерверной структурой.
Услуга является конечной точкой для отправки контактной формы. Код выглядит примерно так. У меня есть два вызова asyn c, один пишет в DynamoDB, а другой отправляет электронное письмо через SES.
module.exports.blog = async (event, context, callback) => {
const data = JSON.parse(event.body);
const handler = 'AB';
const sesParams = getSesParams(handler, data);
if (typeof data.text !== 'string') {
callback(null, validationErrRes);
return;
}
try {
await logToDB(handler, data);
} catch (dbErr) {
console.error(dbErr);
callback(null, errRes(dbErr, 'Failed to log to DB'));
return;
}
try {
await SES.sendEmail(sesParams).promise();
} catch (emailErr) {
console.error(emailErr);
callback(null, errRes(emailErr, 'Failed to send mail'));
return;
}
callback(null, succsessResponse);
return;
};
Ответ занимает ровно 6se c, когда dbput и sendMail занимают в общей сложности <300 мс , <a href="https://i.stack.imgur.com/KCI66.png" rel="nofollow noreferrer">![enter image description here](https://i.stack.imgur.com/KCI66.png)
PS: параллельный запуск обоих асинхронных вызовов c не очень помогает.