У меня есть лямбда-функция AWS A, которая вызывает другую лямбда-функцию B Для обсуждения я хочу вызвать ее синхронно - дождаться результатов и обработать их.Я хочу сделать что-то подобное в Lambda A:
let results = lambda.invoke(LambdaB);
// Do some stuff with results
Проблема в том, что когда я использую APK SDK для вызова Lambda B, я передаю функцию, которая обрабатывает результаты этого вызова.Функция обработки вызывает и обрабатывает результаты, но я замечаю, что // Делать некоторые другие вещи со строкой результатов выполняется до завершения этой функции обработки, поэтому результаты еще не доступны.Я все еще немного новичок в способе работы NodeJS, так какова парадигма, обеспечивающая получение желаемых результатов, прежде чем я перейду к большей обработке с Lambda A?Вот что у меня в двух словах:
// Lambda A code
let payLoad = undefined;
let functionName = "LambdaB";
let params = {
FunctionName: functionName,
InvocationType: "RequestResponse",
LogType: "Tail",
Payload: '{name: "Fred"}'
};
lambda.invoke(params, function(err,data) {
if (err) {
// process error
} else {
payLoad = JSON.parse(data.Payload);
// payLoad is set properly here.
}
});
console.log("Do stuff with results');
console.log("PAYLOAD=" + payLoad);
// payLoad is undefined here
// How can I ensure it is set by the time I get here
// or do I need to use a different paradigm?