Promise

by rexonms

JavaScript

// Promise
console.clear()
function billingPage(validated) {
  console.log('Billing Started')
  const delayTimer = 2000
  return new Promise((resolve, reject) => {
  		setTimeout(() => {
      	console.log('Billing Completed')
      	validated ? resolve({ message: "passed"}) : reject({ message: "failed" })
      },delayTimer)
  })
}

function paymentPage(val) {
 console.log('Payment Started')
  const delayTimer = 2000
  const validated = true
  return new Promise((resolve, reject) => {
  		setTimeout(() => {
      	console.log('Payment Completed')
      	val ? resolve({ message: "passed"}) : reject({ message: "failed" })
      },delayTimer)
  })
}

billingPage(true)
	.then(resolve => {
  	console.log("Billing Validated")
  	paymentPage(true)
    .then(resolve => {
    	console.log("Payment Validated")
    }, error => console.log("Payment Failed")) 
}, error => console.log("Billing Failed"))