Skip to content

Instantly share code, notes, and snippets.

@skolman
Created August 7, 2015 22:05
Show Gist options
  • Save skolman/4d444327eed8e6620935 to your computer and use it in GitHub Desktop.
Save skolman/4d444327eed8e6620935 to your computer and use it in GitHub Desktop.
var app = {};
app.userRepository = (function($, undefined) {
var $document = $(document),
events = {
getUserInfo: 'fetch.user.info'
};
return {
init: function () {
$document.on(events.getUserInfo, function(event, message){
console.log(message);
if (message.deferred === undefined) {
console.log('userRepository: No deferred given');
return;
}
setTimeout(function() {
message.deferred.resolve(
{
id: 1,
username: 'John Doe'
}
);
}, 3000);
});
},
interface: {
getUserInfo: events.getUserInfo
}
};
})(jQuery);
app.module = (function($, userRepository, undefined) {
var $document = $(document);
return {
init: function () {
var deferred = new $.Deferred(),
promise = deferred.promise();
promise.done(function(data){
console.log('done');
console.log(data);
});
promise.fail(function(errors){
console.log('failed');
console.log(errors);
});
$document.trigger(userRepository.getUserInfo, {deferred: deferred});
}
};
})(jQuery, app.userRepository.interface);
app.userRepository.init();
app.module.init();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment