Я пытаюсь отправить запрос к внешнему API с помощью извлечения узла в моем коде node js.
Я хочу повторить запрос 3 раза, если при выполнении запроса POST возникли тайм-ауты или сбои сети.
Не могли бы вы дать мне знать, как повторить запрос, используя node-fetch? Я вижу, что есть npm модуль https://www.npmjs.com/package/node-fetch-retry, но он, похоже, не работает должным образом и не принимает интервал между попытками. Любые фрагменты кода будут очень полезны.
РЕДАКТИРОВАТЬ:
Спасибо, я попытался использовать обещание-fn-retry, но, похоже, не делает повторных попыток. Ниже приведен фрагмент кода, который я попробовал, выключив мой WIFI, а затем выполнив вызов FETCH, чтобы проверить, не повторился ли он 3 раза. Но он делает выборку только один раз и возвращает ошибку.
const promiseFn = () => fetch(url,{method:"POST",headers:header,body:JSON.stringify(payload)});
const options = {
times: 3,
initialDelay: 100,
onRetry: (error) => {
console.log(error);
}
};
console.log('PromiseFn result ****'+retry(promiseFn, options).then(res => res.json()).then((res)=>{console.log('Promise Fn result is'+JSON.stringify(res))}).catch((err)=>{console.log('Error in Promise Fn'+err)}));