JSFiddle - React, Tailwind, and code Playground
by rexonms
JavaScript
// Chapter 3
// Some Now Some Later
console.clear()
const CURRENT_USER_ID = 1
function myTeslaAjax(url, data, callback) {
setTimeout(() => {
console.log('a')
return callback({url, data})
}, 1000)
}
function getPerson(data, cb) {
partial(myTeslaAjax, 'http://myTesla.com/api/person', data => {
console.log('here')
return cb(data)
})
}
function getAward(data, cb) {
return cb(partial(myTeslaAjax, 'http://myTesla.com/api/award'))
}
function getCurrentUser(cb) {
return partial(getPerson,{user: CURRENT_USER_ID})
}
function partial(fn, ...presentArgs) {
return function partiallyApplied(...laterArgs) {
return fn( ...presetArgs, ...laterArgs)
}
}
getPerson({'userId': 1}, cb => {
console.log('getPerson', cb)
})