gpt4 book ai didi

javascript - 无服务器:通过调用方法触发并忘记不能按预期工作

转载 作者:行者123 更新时间:2023-12-04 01:40:11 26 4
gpt4 key购买 nike

我有一个 无服务器 λ函数,我想在其中触发(调用)一个方法并忘记它

我正在这样做

   // 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 returnmyFunction1 ,它不会触发 myFunction2 ,但不应设置 lambda InvocationType = "Event"意味着我们希望这是 火而忘记而不关心回调响应?

我在这里错过了什么吗?

非常感谢任何帮助。

最佳答案

您的 myFunction1应该是一个异步函数,这就是函数在 myFunction2 之前返回的原因可以在 lambda.invoke() 中调用.将代码更改为以下内容,然后它应该可以工作:

 const params = {
FunctionName: "myLambdaPath-myFunction2",
InvocationType: "Event",
Payload: JSON.stringify(body),
};

console.log('invoking lambda function2'); // Able to log this line
return await lambda.invoke(params, function(err, data) {
if (err) {
console.error(err, err.stack);
} else {
console.log(data);
}
}).promise();


// my function2 handler
myFunction2 = async (event) => {
console.log('does not come here') // Not able to log this line
}

关于javascript - 无服务器:通过调用方法触发并忘记不能按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58298233/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com