la comprobacion la haces en la misma funcion que recibe el callback. un ejemplo,
Código:
function counter(callback){
var thisFunc = arguments.callee;
if(thisFunc.count === undefined)thisFunc.count = 0;
if(thisFunc.count == 5)return callback(); // se comprueba si cumple alguna condicion;
thisFunc.count++;
setTimeout(function(){ // se vuelve a invocar la misma funcion;
thisFunc(callback); // se invoca la funcion counter pasando el callback;
}, 1000);
}
// el callback;
function message(func){
alert("el conteo llego a 5");
}
counter(message);
este ejemplo solo muestra el concepto de callback con el setTimeout. en realidad la funcion counter puede contener otras instrucciones pero para proposito del ejemplo se utiliza un contador.