Async / Await
Note:
Behind the scenes it uses the Promise constructor and resolve and reject
but not the then() and catch()
Async needs to use the try / catch instead of then() and catch().
function fetchData() {
return new Promise( ( resolve, reject) => {
setTimeout(() => {
resolve("Data has been fetched")
}, 3000)
}
}
// Promises
fetchData()
.then( result => console.log(result) )
.catch( error => console.log(error) )
// async - await
async function doSomethingAsync() {
try {
const result = await fetchData()
console.log( result )
} catch {
console.log(error)
}
}
doSomethingAsync()
function delay(ms) {
return new Promise( ( resolve, reject) => {
setTimeout(() => {
resolve("Data has been fetched")
}, ms)
}
}
async function greet() {
await delay(2000)
console.log('hello')
}