7.3 Error handling
by dimitrs_papadimitriou
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
(async()=>{ // this is just because all awaits should be in async functions
var mockClientRepository = ({
getById: (id) =>
new Promise((resolve, reject) => {
setTimeout(() => {
var client =
[{ id: 1, name: 'rick', age: 29, employeeId: 1 },
{ id: 2, name: 'morty', age: 25, employeeId: 3 }]
.find(client => client.id === id);
if (client)
resolve(client)
else
reject("no client found")
}, 1000)
})
})
var mockEmployeeRepository = ({
getById: (id) =>
new Promise((resolve, reject) => {
setTimeout(() => {
var employee = [{ id: 1, name: 'jim', age: 29 },
{ id: 2, name: 'jane', age: 25 }]
.find(employee => employee.id === id);
if (employee)
resolve(employee)
else
reject("no employee found")
}, 1000)
})
})
{
var assignedEmployee = async (clientId) => {
try {
var client = await mockClientRepository.getById(clientId);
var employee = await mockEmployeeRepository.getById(client.employeeId);
return employee.name
} catch (error) {
return error;
}
}
var employeeName = await assignedEmployee(1);
console.log(employeeName)
}
})()