Ich habe eine serverlose Lambda- Funktion, in der ich eine Methode auslösen (aufrufen) und vergessen möchte
Ich mache es so
// 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
}
Ich habe bemerkt, dass bis und solange ich kein Promise
return
In mache myFunction1
, es nicht auslöst myFunction2
, aber sollte das Lambda nicht so eingestellt werden, InvocationType = "Event"
dass wir wollen, dass dies Feuer und Vergessen ist und sich nicht um die Rückrufantwort kümmert?
Vermisse ich hier etwas?
Jede Hilfe wird sehr geschätzt.
javascript
aws-lambda
serverless
aws-serverless
aws-lambda-edge
Manzur Khan
quelle
quelle
Antworten:
Sie
myFunction1
sollten eine asynchrone Funktion sein, daher kann die Funktion zurückgegeben werden, bevormyFunction2
sie aufgerufen werden kannlambda.invoke()
. Ändern Sie den Code wie folgt, dann sollte es funktionieren:quelle