Вот что я пытаюсь сделать: у меня есть лямбда-функция, запускаемая веб-перехватчиком, который обрабатывает эти данные и использует их для отправки POST-запроса к api.
Я использую Node.js 12 и модуль выборки узлов.
Прямо сейчас функция запускается правильно, но она не отправляет POST при первом вызове. Но если я активирую лямбда-функцию несколько раз за короткий промежуток времени, запросы после первого будут обработаны.
Вот код в файле index.js моей лямбда-функции:
const fetch = require('node-fetch');
exports.handler = async (event) => {
sendPost();
const response = {
statusCode: 200,
body: "Ok",
};
return response;
};
function sendPost() {
const url = "http://requestbin.net/r/vjv4mvvj";
const body = {
foo: "foo",
bar: "bar",
baz: "baz"
};
const params = {
method: "POST",
mode: "cors",
headers: {"Content-Type":"application/json"},
body: JSON.stringify(body)
};
fetch(url, params);
}
Когда я удаляю async перед (событие), запрос проходит в первый раз, но сервер, который отправляет веб-перехватчик в первую очередь, не получает ответ.
Так что в основном мне нужно, чтобы POST отправлялся каждый раз при вызове функции, а также мог возвращать код состояния 200.
У меня нет большого опыта работы с async, поэтому я знаю, что это связано с этим, но я ломаю голову.