const getDataFromApi = async (pathParam) => {
return fetch(`https://demo2202897.mockable.io/${pathParam}`).then(res => res.json());
};
const getAllData = () => {
const promises = [];
promises.push(getDataFromApi("qotd"));
promises.push(getDataFromApi("getLargeData"));
return Promise.all(promises);
}
const rejectAfter = (timeout) => {
return new Promise((resolve, reject) => {
setTimeout(() => reject(new Error("Operation timed out!")), timeout);
});
}
const raceToGetData = async (timeout) => {
try {
const result = await Promise.race([getAllData(), rejectAfter(timeout)]);
console.log(result);
} catch(e) {
console.log(e.message);
}
}
raceToGetData(500);
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.