$.Callbacks() in jQuery 1.7

Ab und an scheint doch nochmal etwas neues und sinnvolles in jQuery zu kommen, in der Version 1.7 sind es wohl unter anderem die $.Callbacks(). Im Prinzip sind die Callbacks ein Stack von Functions, die sich automatisch nacheinander aufrufen lassen. Natürlich gibt es einige Möglichkeiten mehr, aber in der ganzen einfachen Variante reicht das schon als Erklärung. Natürlich lässt sich der Stack beliebig ändern, und wahrscheinlich kann er die eine oder andere Javascript-Anwendung stark vereinfachen. Als Beispiel nehmen wir mal zwei Funktionen her:

var fn1 = function( value ){
	console.log( 'fn1: ' + value );
}
var fn2 = function( value ){
	console.log( 'fn2: ' + value );
}

Normalerweise ruft man sie wie folgt auf:

fn1('foo');
fn2('bar');

Man kann diese aber auch mittels $.Callbacks() ansprechen:

var callbacks = $.Callbacks();  
callbacks.add( fn1 );  
callbacks.add( fn2 );

Dann vereinfacht sich der Aufruf der Functions auf eine einzelne Zeile:

callbacks.fire( 'foo bar' );

Lustigerweise werden beide Functions beim .fire mit dem gleichen Parameter aufgerufen, es wird in dem Beispiel demnach 2x „foo bar“ ausgegeben. Insofern muss man wirklich aufpassen was man so treibt, aber für die Manipulation von Objekte ist es optimal.

Sinn und Zweck ist es natürlich, Code zu vereinfachen. Ob es immer oder überhaupt Sinn macht $.Callbacks() zu verwenden sei an dieser Stelle einmal dahingestellt, eine weiterführende Erklärung was man mit $.Callbacks() alles anstellen kann, gibt es hier.

Ähnliche Beiträge

LABjs – JavaScript On-Demand nachladen Wer kennt das Problem nicht? Schnell hat man beim Einsatz von jQuery 5-6 Skript-Tags im Header, die nicht unbedingt kleine Javascripte laden. Neben jQ...
Wieso man Javascript nicht im Head lädt (und im Fo... Ich kann mich noch erinnern als Anfang der 90er Javascript noch ein außerirdisches Mysterium war, und zwei Zeilen Inline-Javascript das höchste der Ge...
Adobe Brackets – Code Editor für HTML, CSS &... Nach gefühlten 25 Jahren, dem Plattmachen von Homesite und einigen Versuchen Dreamweaver irgend etwas sinnvolles abzugewinnen glaubt jetzt wohl schein...
Erste Beta von Dojo 1.3.0 erschienen Obwohl ich zugeben muss, dass dojoX um einiges mächtiger erscheint, als die UI-Funktionen von jQuery, bin ich nach wie vor skeptisch. Ich habe mich in...

Schreibe einen Kommentar