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