Original JS Promise Example

by evildonald

HTML

<div id="demo"></div>

JavaScript

console.clear()

function getUser(resolve, reject) {

  console.log("2) calling getUser API")

  /*const json = { id: 12, name: "dan", paymentId: 1003 }
        //simulate calling an API that takes 5 seconds to resolve
        setTimeout( () => { 
          console.log("4) resolving"); 
          //resolve(json) 
          reject("NOPE!!!!")
        }, 3000  )*/

  fetch('https://jsonplaceholder.typicode.com/posts/1')
    .then((response) => resolve(response.json()))
    .catch((error) => reject(error))


  console.log("3) DONE getUser API")

}

function setUser(user) {
  console.log("5a) THEN - User is:", user)
  document.getElementById("demo").innerHTML = "Hello user " + user.id
}

function setError(message) {
  console.log("5b) ERROR - There was an error:", message);
  document.getElementById("demo").innerHTML = "ERROR!! " + message
}

function initPage() {
  console.log("1) About to execute promise")

  new Promise(getUser)
    .then(setUser)
    .catch(setError)
}

initPage()