JSFiddle - React, Tailwind, and code Playground
by badfreja
JavaScript
const exploreDestination = async () => {
const concurrentCalles = [
new Promise((resolve, reject) => {
setTimeout(() => resolve('Result is in!'), 500 );
})
];
concurrentCalls.push(
new Promise((resolve, reject) =>
setTimeout(() => reject('Timeout!'), 2000)
));
const response = await Promise.race(concurrentCalls);
console.log(response);
return response;
}
const r = async() => await exploreDestination();
setTimeout(() => console.log(r), 2000);
const a = () => new Promise( resolve => {
setTimeout( () => resolve( 'result of a()' ), 500 ); // 1s delay
} );
const b = () => new Promise( (resolve, reject) => {
setTimeout( () => reject( 'result of b()' ), 1000 ); // 0.5s delay
} );
setTimeout( () => {// race a(), b(), c()
Promise.race( [ a(), b()] )
.then( ( data ) => {
console.log( 'success: ', data );
} )
.catch( ( error ) => {
console.log( 'error: ', error );
} );}, 3000 );