2.3 Callbacks Example
by dimitrs_papadimitriou
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
<script src="https://unpkg.com/[email protected]/bundles/rxjs.umd.min.js"></script>
JavaScript
var mockClientRepository = ({
getById: (id, onError, onFinished) =>
setTimeout(() => {
try {
var client =
[{ id: 1, name: 'rick', age: 29, employeeId: 1 },
{ id: 2, name: 'morty', age: 25, employeeId: 3 }]
.find(client => client.id === id);
onFinished(client)
} catch (error) {
onError(error)
}
}, 1000)
})
var mockEmployeeRepository = ({
getById: (id, onError, onFinished) =>
setTimeout(() => {
try {
var employee =
[{ id: 1, name: 'jim', age: 29 },
{ id: 2, name: 'jane', age: 25 }]
.find(employee => employee.id === id);
onFinished(employee)
} catch (error) {
onError(error)
}
}, 1000)
})
var assignedEmployee = (clientId, onError, onFinished) => {
mockClientRepository.getById(clientId,
error => onError(`error retriving client:${error}`),
client => {
if (client) {
mockEmployeeRepository.getById(client.employeeId,
error => onError(`error retriving employee:${error}`),
employee => {
onFinished(employee)
});
}
});
}
assignedEmployee(1, error => console.log(error), employee => console.log(employee))