amazon-web-services - TypeError: cognitoidentityserviceprovider.getUser(...).promise 不是函数
问题描述
async getUserDetails(accessToken, callback) {
var cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
var params = {
AccessToken: accessToken
};
return cognitoidentityserviceprovider.getUser(params, function(err, data) {
if (err) {
return err;
} else {
//console.log(data);
return data;
}
}).promise();}
我正在尝试在 cognitoidentityserviceprovider.getUser 上使用 .promise() 但似乎尽管 docs.aws.amazon.com 上的文档说明了什么,但我得到的是 AWS.Response 而不是 AWS.Request 并且在其上使用 promise 不起作用。
知道为什么这不起作用以及如何以异步方式获取用户属性以便以后使用信息吗?
谢谢!
解决方案
您同时使用回调和承诺,这就是为什么事情不起作用的原因。如果您想使用.promise()
,则不能将回调传递给任何 AWS 开发工具包方法。
尝试这个:
const getUserDetails = async(accessToken) => {
const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
const params = {
AccessToken: accessToken
};
return await cognitoidentityserviceprovider.getUser(params).promise();
}
推荐阅读
- c++ - 在提升直方图中定位一个 bin
- batch-file - 批处理文件输入文件夹名称或获取网络ID?
- c++ - QTimer 超时信号不发出
- angular - 在 Sitefinity 内容中使用角度元素的具体示例
- python - 如何爬取arxiv sanity?
- parsing - 预编译(Maven/Gradle)Apache Daffodil DataProcessor 以在单独的解析应用程序中用作依赖项是否可行?
- javascript - 基于键将一个数组嵌套到另一个数组中
- javascript - 如果使用 .js 将命令与用户名一起使用,则发送 dm
- excel - 根据时间线更改时值的总和是否不等于 0,为切片器创建过滤器
- python-3.x - 我想将一个列表拆分为同一个列表中的小列表