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 );