Skip to content

Instantly share code, notes, and snippets.

@dlongley
Created April 28, 2013 18:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dlongley/5477752 to your computer and use it in GitHub Desktop.
Save dlongley/5477752 to your computer and use it in GitHub Desktop.
/* Begin node.js Style */
playground.performAction = function(input, callback) {
var processor = new jsonld.JsonLdProcessor();
if(playground.activeTab === 'tab-compacted') {
processor.compact(input, function(err, compacted) {
if(err) {
return callback(err);
}
// TODO: update UI with 'compacted output
callback();
}
}
else ...
};
playground.performAction({}, function(err) {
if(err) {
// TODO: display errors
return;
}
// TODO: update UI, etc.
});
/* End node.js Style */
/* Begin Futures Style */
playground.performAction = function(input) {
return new Future(function(resolver) {
var processor = new jsonld.JsonLdProcessor();
if(playground.activeTab === 'tab-compacted') {
processor.compact(input).done(function(compacted) {
// TODO: update UI with 'compacted' output
resolver.resolve();
}, resolver.reject);
}
else ...
};
};
playground.performAction({}).done(
function() {
// TODO: update UI, etc.
},
function(err) {
// TODO: display errors
}
});
/* End Futures Style */
/* Begin ES6 "Thenables" Style */
playground.performAction = function(input) {
return {then: function(success) {
var processor = new jsonld.JsonLdProcessor();
if(playground.activeTab === 'tab-compacted') {
var compacted = yield processor.compact(input);
// TODO: update UI with 'compacted' output
success();
}
else ...
};
};
try {
yield playground.performAction({});
// TODO: update UI, etc.
}
catch(e) {
// TODO: display errors
}
/* End ES6 "Thenables" Style */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment