我对Node JS Lamda函数还是个新手,还在学习。
我有一个函数,下面是测试工作代码:
const https = require("https")
var url = "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html"
exports.handler = async (event) => {
var variable_1 = "test 1"
var variable_2 = "test 2"
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify("Hello from Lambda!") + url,
}
return response
}
我需要在同一个函数内执行两个操作。像这样有两个出口处理程序可能吗?如何在另一个处理程序中使用来自一个处理程序的变量?
const https = require("https")
var url = "https://docs.aws.amazon.com/lambda/latest/dg/welcome.html"
exports.handler = async (event) => {
var variable_1 = "test 1"
var variable_2 = "test 2"
// TODO implement
const response = {
statusCode: 200,
body: JSON.stringify("Hello from Lambda!") + url,
}
return response
}
//second handler - is this possible?
exports.handler = async (event) => {
var variable_3 = variable_1 + variable_2
// TODO implement
const response2 = {
statusCode: 200,
body:
JSON.stringify("Hello from Lambda - 2nd function!") + url + variable_3,
}
return response2
}
您所做的是创建多个导出函数,如下所示;
// First Function
exports.doSomethingA= async function() {
return something;
};
// Second Function
exports.doSomethingB= async function() {
return something;
};
假设这两个函数位于一个名为customer.js的文件中-您可以将它们导入另一个文件中,并按如下方式调用该函数;
const customer = require('./customer');
exports.doSomethingC= async function() {
await customer.doSomethingA();
await customer.doSomethingB();
}
在您的情况下,我将有一个带有这两个函数的独立文件。然后在处理程序中调用这些函数,如上所示。别忘了进口。