这不起作用:
exports.handler = (username, password) => {
return {
login: () => login(username, password),
processLogin,
generateReport
};
};
当我更改为该功能时,但是...
exports.handler = (username, password) => {
login(username, password);
processLogin();
generateReport();
};
...它不遵循命令。如何使其在AWS Lambda上运行?以我的理解,该过程如下:首先运行login
,完成processLogin
之后,开始运行generateReport
。 generateReport
看起来像这样:
function generateReport(token)...
表示函数从之前运行的processLogin
中获取一些参数。无论如何,我该如何运作?
请让我知道是否需要其他信息。
答案 0 :(得分:0)
您的第一个版本不返回Promise
,而是返回一个对象。不执行任何代码。此外,处理程序参数应与AWS API匹配。
您的代码应明确返回承诺:
exports.handler = (event, context) => {
username = extractUsername(event);
password = extractPassword(event);
return Promise.resolve()
.then(() => login(username, password))
.then(() => processLogin())
.then(() => generateReport())
.catch(err) => handleError());
}