
After a year of development the final gold version of jQuery Mobile 1.0 based on jQuery 1.6.4 has been released (support for jQuery 1.7 will come with a version of jQuery Mobile 1.1). The framework is designed to develop sites with the touch interface using usual HTML, CSS and JavaScript. Tools like PhoneGap allow easily transforming the site HTML5 into a mobile application and distributing it through the app stores.

It is a fairly typical task, when the pattern of its solution usually is called as a waterfall. The implementation of this pattern is node.js, although some people work in the browser - async.
But we do not want to include the entire module for a single method as well as the copy / paste. The callback function is passed to async, everywhere we used the jQuery.Deferred. There is no difference, but we do not want to “break” a design style :)
As a result, there is written a small utility similar to jQuery.when
Unlike to the jQuery.when, the functions and their return should be passed by arguments, and not jqxhr, otherwise sense of waterfall will be lost. Although, it will not cause the error, because the waterfall accepts any argument’s types.