ES6 Promise-3

Error Handling in Promise

by Po-Jung Chen

JavaScript

/**
 * Error Handling in Promise
 **/
 
 function waitASeconds(seconds){
 	return new Promise((resolve, reject) => {
  	if (seconds > 3){
    	reject('seconds is bigger then 3')
    }
    setTimeout(function(){
    	seconds++
    	 resolve(seconds)
    },1000)
  })
 }
 
waitASeconds(0)
.then((seconds => {
	console.log('In first .then', seconds)
  return waitASeconds(seconds)
}))
.then((seconds => {
	console.log('In second .then', seconds)
  return waitASeconds(seconds)
}))
.then((seconds => {
	console.log('In third .then', seconds)
  return waitASeconds(seconds)
}))
.then((seconds => {
	console.log('In forth .then', seconds)
  return waitASeconds(seconds)
}))
.then((seconds => {
	console.log('In fifth .then', seconds)
  return waitASeconds(seconds)
}))
.catch((error) => {
	console.warn(error)
})