function fetchOrder(orderId) {
return fetch(`/orders/${orderId}`)
.then(resp => {
if (resp.status === 404) {
throw new Error('Order not found');
}
return resp.json();
});
}
Slide 48
Slide 48 text
function fetchOrder(orderId) {
return new Promise((resolve, reject) => {
$.get(`/orders/${orderId}`)
.done(order => resolve(order))
.fail(resp => {
if (resp.status === 404) {
reject(new Error('Order not found'));
}
});
});
}
Slide 49
Slide 49 text
Error
Error
Error
Error
Slide 50
Slide 50 text
Regain Control
Slide 51
Slide 51 text
async function findOrCreateOrder(orderId) {
let order;
if (await orderExists(orderId)) {
order = await fetchOrder(orderId);
} else {
order = await createOrder();
}
return order;
}
Slide 52
Slide 52 text
async function findOrCreateOrder(orderId) {
let order;
if (await orderExists(orderId)) {
order = await fetchOrder(orderId);
} else {
order = await createOrder();
}
return order;
}
Slide 53
Slide 53 text
async function printOrders(orderIds) {
for (const id of orderIds) {
const order = await fetchOrder(id);
console.log(order);
}
}
Slide 54
Slide 54 text
async function printOrders(orderIds) {
for (const id of orderIds) {
const order = await fetchOrder(id);
console.log(order);
}
}
Slide 55
Slide 55 text
async function printOrders(orderIds) {
for (const id of orderIds) {
const order = await fetchOrder(id);
console.log(order);
}
} Problem?
Slide 56
Slide 56 text
async function printOrders(orderIds) {
for (const id of orderIds) {
const order = await fetchOrder(id);
console.log(order);
}
}
printOrders([1, 2, 3]);