Ошибка типа: cognitoidentityserviceprovider.getUser (...). Обещание не является функцией - PullRequest
0 голосов
/ 30 января 2019
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();}

Я пытаюсь использовать .promise () для cognitoidentityserviceprovider.getUser, но кажется, что, несмотря на то, что в документации указано по адресу docs.aws.amazon.com , я получаю AWS.Response, а неAWS.Request и использование обещания на нем не работает.

Есть идеи, почему это не работает, и как я могу получить атрибуты пользователя асинхронным способом, чтобы использовать информацию на более позднем этапе?

Спасибо!

1 Ответ

0 голосов
/ 01 февраля 2019

Вы используете как обратные вызовы, так и обещания, поэтому все не работает.Если вы хотите использовать .promise(), вы не можете передать обратный вызов любым методам AWS SDK.

Попробуйте:

const getUserDetails = async(accessToken) => {
    const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();

    const params = {
      AccessToken: accessToken
    };

    return await cognitoidentityserviceprovider.getUser(params).promise();
}
...