Javascript: Basic Asynchronous Service

With Callbacks

by Matthew Marcus

JavaScript

var service = {
    getFavicon: function(domain){
        var img = new Image();
        img.onload = function(){
            config.callbacks.success(img);
        }
        img.src="http://www.google.com/s2/favicons?domain=" + domain;
        
        var config = {
            callbacks: {
                success: null
            }
        };
        
        return {
            success: function(callback){
                config.callbacks.success = callback;
            }
        };
    }
};

service.getFavicon('marketo.com').success(function(img){
    console.log(img);
});