Вы не возвращаете обещание из своей функции, поэтому у лямбды нет возможности определить, завершилось ли ваше выполнение. Последняя строка, которая является консольной, выполняется до того, как client.calls
завершит выполнение, поскольку она асинхронная. У вас есть два варианта здесь
- Либо измените его, чтобы вернуть обещание, подобное этому
'use strict';
module.exports.hello = async event => {
console.info("Program Started");
const accountSid = 'AAAAAA';
const authToken = 'BBBBBB';
const client = require('twilio')(accountSid, authToken);
return client.calls
.create({
twiml: '<Response><Say>Ahoy, World!</Say></Response>',
to: '+1XXXXXXXXXX',
from: '+1YYYYYYYYY'
})
.then(call => console.log(call.sid))
.then(() => console.info("Program Ended"));
};
- ИЛИ измените его на использование стиля ожидания
'use strict';
module.exports.hello = async event => {
console.info("Program Started");
const accountSid = 'AAAAAA';
const authToken = 'BBBBBB';
const client = require('twilio')(accountSid, authToken);
const call = await client.calls
.create({
twiml: '<Response><Say>Ahoy, World!</Say></Response>',
to: '+1XXXXXXXXXX',
from: '+1YYYYYYYYY'
});
console.log(call.sid);
console.info("Program Ended");
};