Async/await
Async functions
function sum(a, b) {
return a + b;
}
console.log(sum(1, 1));
console.log(sum(2, 2));
console.log(sum(3, 3));
//=>
// 2
// 4
// 6
async function sumAsync(a, b) {
return a + b;
}
sumAsync(1, 1).then(res => console.log(res));
sumAsync(2, 2).then(res => console.log(res));
sumAsync(3, 3).then(res => console.log(res));
//=>
// 2
// 4
// 6
function sum(a, b) {
return a + b;
}
async function sumAsync(a, b) {
return a + b;
}
console.log(sum(1, 1));
sumAsync(2, 2).then(res => console.log(res));
console.log(sum(3, 3));
//=>
// 2
// 6
// 4
Await
async function sumAsync(a, b) {
return a + b;
}
sumAsync(1, 1).then(res => console.log(res));
sumAsync(2, 2).then(res => console.log(res));
sumAsync(3, 3).then(res => console.log(res));
//=>
// 2
// 6
// 4
async function sumAsync(a, b) {
return a + b;
}
async () => {
const result = [];
result.push(await sumAsync(1, 1));
result.push(await sumAsync(2, 2));
result.push(await sumAsync(3, 3));
console.log(result); //=> [ 2, 4, 6 ]
};
Handling Errors
async function subtraction(a, b) {
const result = a - b;
if (result) return result;
else throw new Error('Whoops!');
}
(async () => {
try {
const result = await subtraction('a', 1);
console.log(result);
} catch (err) {
console.log(err);
}
})();
//=> Error: Whoops!
// at subtraction (<anonymous>:6:11)
// at <anonymous>:11:26
// at <anonymous>:16:3
Promise.all
async function sumAsync(a, b) {
return a + b;
}
(async () => {
const promises = [sumAsync(1, 1), sumAsync(2, 2), sumAsync(3, 3)];
const result = await Promise.all(promises);
console.log(result); //=> [ 2, 4, 6 ]
})();
Demo
async function getJSON(url) {
const response = await fetch(url);
const json = await response.json();
return json;
}
(async () => {
const cep = await getJSON('https://viacep.com.br/ws/01001000/json/');
console.log(cep.localidade); //=> São Paulo
})();