4.3 Promisify Callback code
https://github.com/eu81273/jsfiddle-console
by dimitrs_papadimitriou
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
var clients = [{ id: 1, name: 'jim' }, { id: 2, name: 'jane' }]
var clientRepository = ({
getById: (id, error, onFinishedSearch) => {
try {
setTimeout(() => {
var client = clients.find(c => c.id === id);
onFinishedSearch(client);
}, 1000);
} catch (e) {
error(e)
}
}
})
var promiseAdapter = repository =>
({
getById: (id) => {
return new Promise((resolve, reject) => repository.getById(id, reject, resolve))
}
})
promiseAdapter(clientRepository)
.getById(1)
.then(client => {
console.log(client)
});