node.js - Lambda:node.js 不等到承诺返回
问题描述
我写了一个 lambda 函数,但不幸的是,我不确定它为什么不等待承诺结果。你介意帮我弄清楚是什么问题吗?
exports.handler = async (event) => {
let request = new Request(event);
console.log(`request---> ${JSON.stringify(request)}`);
try {
let props = { ...request.payload };
let poolData = Helper.getPoolData();
console.log(`props---> ${JSON.stringify(props)} \npoolData---> ${JSON.stringify(poolData)}`);
let profileData = profile(poolData, props);
console.log(`before await...`);
let data = await profileData;
console.log(`after await...`);
return request.reply(data);
} catch (err) {
console.log(`ERROR HAPPENED ------profile_get.js-----> ${JSON.stringify(err)}`);
return request.reply(Boomer(err));
}
};
我的个人资料功能如下:
static async profile(poolData, props) {
console.log(`inside profile--->`);
const cognitoUser = await Helper.getCognitoUser(poolData, props);
console.log(`cognitoUser---> ${JSON.stringify(cognitoUser)}`);
return new Promise((resolve, reject) => {
let next = (err, res) => {
if (err) {
reject(err);
} else {
resolve(res);
}
};
console.log(`inside promise`);
cognitoUser.getUserAttributes(next);
});
}
我在 Cloudwatch 中的日志详细信息如下:
2019-12-25T02:10:46.149+08:00
START RequestId: 9f6a0e99-543c-4e1c-b41d-af9dba32739d Version: $LATEST
2019-12-25T02:10:46.178+08:00
2019-12-24T18:10:46.152Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO request---> {"headers":{"Accept":"*/*","AcceptEn....l}
2019-12-25T02:10:46.178+08:00
2019-12-24T18:10:46.178Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO props---> {"Accept":"*/*","AcceptEncod...,"XForwardedProto":"https"} poolData---> {"UserPoolId":"eu-west-asdasda","ClientId":"asdasd","Paranoia":"7"}
2019-12-25T02:10:46.178+08:00
2019-12-24T18:10:46.178Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO inside profile--->
2019-12-25T02:10:46.198+08:00
2019-12-24T18:10:46.179Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO before await...
2019-12-25T02:10:46.198+08:00
2019-12-24T18:10:46.198Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO ERROR HAPPENED ------profile_get.js-----> {}
2019-12-25T02:10:46.198+08:00
2019-12-24T18:10:46.198Z 9f6a0e99-543c-4e1c-b41d-af9dba32739d INFO ERROR HAPPENED ------error.js-----> {}
2019-12-25T02:10:46.219+08:00
END RequestId: 9f6a0e99-543c-4e1c-b41d-af9dba32739d
2019-12-25T02:10:46.219+08:00
REPORT RequestId: 9f6a0e99-543c-4e1c-b41d-af9dba32739d Duration: 69.30 ms Billed Duration: 100 ms Memory Size: 128 MB M
我正在使用 Node.js 12.x。
解决方案
推荐阅读
- mysql - 将spring boot应用程序连接到My SQL数据库时如何避免异常?
- python - 将低特征图像拼接在一起
- javascript - 单击时如何使我的内部 div 中的元素覆盖整个外部 div?
- javascript - 使用 axios 返回保存在 URL 中的数组
- python - 如何从带有不同标题的 xls 文件中导入数据
- c# - 测试派生类时如何模拟我的基本方法
- docker - openshift 集群中 Kaniko 作业的权限被拒绝
- python - Jupyter 中的 Tkinter PhotoImage
- apache - Apache 上的 Symfony 将 /login 路径重写为 /web/login
- macos - 使用可能的密码列表从终端安装加密的 .dmg?