Простите, но я новичок в JS обещаниях. Я думаю, что мне нужно использовать один для взаимодействия со службой AWS, которая записывает и извлекает данные из DynamoDB. У меня есть приложение JavaScript, которое запускается плагином Serverless npm, который определяет экспортируемые функции как конечные точки. В этих конечных точках после выполнения обещания мне нужно отправить данные обратно в конечную точку, чтобы представить их как тело JSON. См. Код ниже.
exports.getBlog = async (event) => {
return getBlogPost(event).then((data) => {
console.log("worked", data);
var response = {
statusCode: 200,
body: JSON.stringify(data)
};
return response;
})
.catch((error) => {
console.log("didn't work");
var response = {
statusCode: 400,
body: JSON.stringify(error.toString())
};
return response;
});
}
Что заставляет меня думать, что это неправильно, так это то, что мне нужно создать var response
и вернуть его, а затем снова вернуться за пределы этого значения в root из * 1005. *. Это правильно? Это заставляет JSON печатать правильно, но я не совсем понимаю, читают ли он-лайн учебники, является ли это хорошей практикой?
Если нет, как бы вы вернули данные из обещания и выставили их как результат JSON ?
В этом примере серверная инфраструктура ссылается на exports.getBlog
как конечную точку, например: -
functions:
get-blog:
handler: api/blog.getBlog
events:
- http:
path: api/v1/blog
method: GET
cors: true