У меня есть серверная лямбда- функция, в которой я хочу запустить (вызвать) метод и забыть о нем
Я делаю это таким образом
// myFunction1
const params = {
FunctionName: "myLambdaPath-myFunction2",
InvocationType: "Event",
Payload: JSON.stringify(body),
};
console.log('invoking lambda function2'); // Able to log this line
lambda.invoke(params, function(err, data) {
if (err) {
console.error(err, err.stack);
} else {
console.log(data);
}
});
// my function2 handler
myFunction2 = (event) => {
console.log('does not come here') // Not able to log this line
}
Я заметил , что до тех пор, пока я не делать Promise
return
по прибытии myFunction1
, он не срабатывает myFunction2
, но не следует устанавливать лямбда InvocationType = "Event"
означает , что мы хотим , чтобы это огонь и забыть , а не заботиться о реакции обратного вызова?
Я что-то здесь упускаю?
Любая помощь высоко ценится.
Ответы:
Вы
myFunction1
должны быть асинхронной функцией, поэтому функция, которая возвращается до того, какmyFunction2
может быть вызванаlambda.invoke()
. Измените код на следующий, тогда он должен работать:источник