Maybe the most popular library for that is RequireJS. The library is very robust, it’s possible to define sophisticated dependencies list, but it’s not that simple to integrate with, and it requires some work-around, and code changes in order to work with simple libraries and scripts.
There are several other libraries, like YepNope, which provides conditional asynchronous script loading, or HeadJS which looks not bad at all, but it’s much more sophisticated than what I need. I needed something very simple, that will: a) load scripts asynchronously; b) execute a callback once finished;
Consequently, I wrote my own library which is called “griquire” (I know, it’s very narcissistic :)), it’s a small library and does exactly what I need.