Пример ниже предназначен для запросов GET, но не работает для запросов POST. Как я могу заставить его работать для POST?
https://www.npmjs.com/package/got#retry
const got = require('got')
const retry = {
retry: {
retries: 3
}
}
got('http://localhost:3000/retry', retry).then(({ body }) => {
console.info(body);
}).catch((err) => {
console.info(err);
});
Что вы пробовали? Где именно ты застрял?
У меня есть составной отдел продаж [developer.salesforce.com/docs/atlas.en-us.api_rest.meta/…, который возвращает 500 для подзапросов, мне нужен механизм повторных попыток, если 1-й подзапрос повторяет 500.





Пример POST-запроса с числом повторных попыток равным 3. Если вы хотите отключить повторные попытки, установите для счетчика повторных попыток значение 0.
const got = require('got');
start()
async function start() {
var response = await request()
console.info(response);
}
async function request() {
try {
const response = await got.post('https://example.com', { retry: { limit: 3, methods: ["GET", "POST"] } });
return response.body
} catch (error) {
console.info(error.response.body);
return error
}
}
Для методов добавления POST, как показано ниже, по умолчанию got не поддерживает повторные попытки для POST.
got.post('https://example.com', { retry: { limit: 1, methods: ["GET", "POST"] } });
https://www.npmjs.com/package/got#gotposturl-options