26 lines
525 B
JavaScript
26 lines
525 B
JavaScript
'use strict';
|
|
|
|
const fetch = require('node-fetch');
|
|
|
|
function fetchItem(url, attempt) {
|
|
function retry(error) {
|
|
console.log(error);
|
|
|
|
if(attempt < 3) {
|
|
console.log('Retrying...');
|
|
|
|
return fetchItem(url, ++attempt);
|
|
}
|
|
};
|
|
|
|
return fetch(url).then(res => {
|
|
return res.ok ? res : Promise.reject(`Failed to fetch ${url}`);
|
|
}).then(res => {
|
|
console.log(`Fetched '${url}'`);
|
|
|
|
return res.body;
|
|
}).catch(retry);
|
|
};
|
|
|
|
module.exports = fetchItem;
|