http://sporto.github.io/blog/2012/12/09/callbacks-listeners-promises/
或
http://www.ruanyifeng.com/blog/2012/12/asynchronous%EF%BC%BFjavascript.html
当用 Javascript 处理异步(asynchronous )时,你可以使用很多工具。本文说明四个异步的方法和工具,以及它们的优势:回调(Callbacks)、监听(Listeners)、流程控制库(Control Flow Libraries)和 Promises。
为了说明这四个工具,让我们创建一个简单的示例场景。
我们想查找(find)一些记录,然后处理(process)它们,最后返回处理后的结果。这两个操作(查找和处理)是异步的。
回调
回调是处理异步编程的最基本最公认的方式。
回调方式像如下形式:
function(results) {
// do something
});