JSFiddle - React, Tailwind, and code Playground

by YuHan Chien

JavaScript

let promiseA = new Promise((resolve, reject) => {
  let wait = setTimeout(() => {
    clearTimeout(wait);
    resolve('Promise A win!');
  }, 2000)
})

const promiseTimeout = function(ms, promise){

  let timeout = new Promise((resolve, reject) => {
    let id = setTimeout(() => {
      clearTimeout(id);
      reject('Timed out in '+ ms + 'ms.')
    }, ms)
  })

  return Promise.race([
    promise,
    timeout
  ])
}

promiseTimeout(1000,promiseA)
.then((res)=>{
	console.log(res);
},(rej)=>{
	console.log(rej);
});