Promises

by evildonald

HTML

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

JavaScript

console.clear()

async function getUser(resolve, reject) {

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

  let response = await fetch('https://jsonplaceholder.typicode.com/posts/1')

	console.log("3a) Received Data", response)
  
  let user = await response.json()

  console.log("3b) DONE getUser API", user)
  
  return user

}

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

  getUser().then(
    function(value) { setUser(value) },
    function(error) { console.log(JSON.stringify(error)), setError(error) }
  )
}

initPage()