Disparar um evento personalizado com javascript (ou jquery) quando minha função terminar
Em vez de aninhar retornos de chamada no JS, gostaria de disparar e ouvir meus próprios eventos personalizados. Eu não preciso nem quero acessar o DOM. Aqui está um exemplo:
function doSomething(){
//...
$.trigger('finished-doSomething'); //fire the event 'finished-doSomething'
}
//when the event 'finished-doSomething' is fired -> execute the function in the second param
$.live('finished-doSomething', function(){
alert("I finished-doSomething");
});
Seria possível fazer isso com código javascript normal ou com uma biblioteca como jQuery? Se não, qual é uma boa abordagem para evitar retornos de chamada aninhados?
Obrigado!