NodeJS Показать возвращаемое значение из DynamoDB - PullRequest
0 голосов
/ 04 февраля 2020

Я создаю веб-сайт с использованием инфраструктуры React NodeJS, и в основном я хотел бы вызвать значение из DynamoDB и отобразить его на веб-странице. Я уже создал DocClient и смог извлечь значения и вернуть его в формате json, однако проблема заключается в том, что страница загружается до выполнения обещания и поэтому никогда не заканчивается отображением возвращенных данных на веб-странице.

Вот мой код, предположим, что регион, таблица, ключ доступа и секрет уже предоставлены в env vars.

let items = [];

async function getContent_ID(id) {
    const dynamoDB = new AWS.DynamoDB.DocumentClient({
        region: region,
        accessKeyId: accessKeyId,
        secretAccessKey: secretAccessKey,
    });

    let params = {
        TableName: tableName,
        //AttributesToGet: ['Content_ID', 'Content_Type'],
        FilterExpression: '#idname in (:val1)',
        ExpressionAttributeNames: {
            '#idname': 'Content_ID'
        },
        ExpressionAttributeValues: {
            ':val1': id // retrieved from getContent_ID(id)
        },

        ReturnConsumedCapacity: 'NONE', // optional (NONE | TOTAL | INDEXES)
    };

return await new Promise((resolve, reject) => {
    dynamoDB.scan(params, (error, data) => {
        if (error) {
            console.log(error.statusCode);
            resolve({
                statusCode: 400,
                error: console.log(error.message)
            });

        } else {
            console.log(JSON.stringify(data));
            resolve({ statusCode: 200, body: JSON.stringify(params.Item) })
        }
    });
});

}

Тогда в идеале я ищу просто отобразите значение на основе целого числа элемента Content_ID в моей таблице, поэтому, например, у меня есть запись элемента, где Content_ID = 1; Итак:

<h4> { getContent_ID(1) // should display "hello world" which is retrieved from Content_ID =1 item} </h4>

Ошибка возвращается, если я помещаю {getContent_ID (1)} в h4

Ошибка: объекты недопустимы как дочерний элемент React (найдено: [Обещание объекта] ). Если вы хотите отобразить коллекцию дочерних элементов, используйте вместо этого массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...