Mindig azt hittem, hogy aki callback függvényt ír az biztosan tud valamit.
Főleg azért, mert nem tudtam mi az.
Pedig nagyon egyszerű:
A függvény callback az, amikor egy függvénynek paraméterül megadjuk, hogy ha végzett, akkor mit indítson el. Persze ez így nem feltétlenül igaz, mert bármikor meg lehet hívni a paraméterként átadott függvényt, nem csak akkor, amikor végzett.
Én leginkább arra használom, amikor valamilyen fájl betöltésére írok egy függvényt és azt szeretném, ha a betöltött fájl további feldolgozására szolgáló függvények addig nem futnának le, amíg a fájl be nem töltődik. Pl.:
//Ezzel hívom meg a betöltő függvényt
Maga a betöltő függvény, amiben a callback szerepel, így néz ki:
loadFile(path, loadComplete);
//Ez pedig a függvény, amit a betöltő függvény fog meghívni betöltés után
function loadComplete():void
{
//Dolgok, amiket a betöltés után el akarok végezni
}
function loadFile(path:String, onComplete:function):void
{
//Ide kerül a fájl betöltése, majd a callback hívás
onComplete();
}
Természetesen a betötő függvénynek fogalma sincs, hogy mia a neve annak a függénynek, amit majd meg kell hívnia, ezért nem a nevével hivatkozunk rá, hanem a paraméterrel, amit létrehoztunk erre a célra. (Esetünknben ez az "onComplete").