Skip to content

Instantly share code, notes, and snippets.

@scriptype
Created February 3, 2017 20:16
Show Gist options
  • Save scriptype/ecbb0dc86c35e64eb430492346b6ae56 to your computer and use it in GitHub Desktop.
Save scriptype/ecbb0dc86c35e64eb430492346b6ae56 to your computer and use it in GitHub Desktop.
Callback heaven
function create(callback) {
setTimeout(function() {
callback('created')
}, Math.random() * 1000)
}
function read(value, callback) {
setTimeout(function() {
callback(value + ', red')
}, Math.random() * 1000)
}
function update(value, callback) {
setTimeout(function() {
callback(value + ', updated')
}, Math.random() * 1000)
}
function delete_(value, callback) {
setTimeout(function() {
callback(value + ', deleted')
}, Math.random() * 1000)
}
// Consumers
function createNewFile() {
create(readDir)
}
function readDir(value) {
read(value, updateDB)
}
function deleteFiles(value) {
delete_(value, logResult)
}
function updateDB(value) {
update(value, deleteFiles)
}
function logResult(value) {
console.log(value + ', finished')
}
createNewFile()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment