В настоящее время я использую JavaScript AWS SDK для DynamoDB и пытаюсь проанализировать данные, которые я получаю от вызова DynamoDB, но он всегда возвращает undefined. Результат печатается успешно, но попытка сохранить эти данные в переменной безуспешна. Ниже я пытаюсь это сделать.
const AWS = require("aws-sdk");
AWS.config.update({ region: "us-east-1" });
const dynamoDb = new AWS.DynamoDB({ apiVersion: "2012-08-10" });
const promisify = foo =>
new Promise((resolve, reject) => {
foo((error, result) => {
if (error) {
reject(error);
} else {
resolve(result);
}
});
});
const params2 = {
TableName: "Users",
Key: {
userID: { S: "123456789" },
},
};
const test = params => {
dynamoDb.getItem(params, function(err, data) {
if (err) {
console.log("Error", err);
} else {
console.log("Success", data.Item);
return data.Item;
}
});
};
let user = test(params2);
console.log("User:", user);
Я считаю, что это связано с асинхронностью getItem, и я исследовал, как реализовать обещание в этом коде, но не могу получить правильный синтаксис. Любая помощь приветствуется. Спасибо.