promise 不是 angular 首创的,作为一种编程模式,它出现在…1976年,比 javascript 还要古老得多。promise 全称是 Futures and promises。具体的可以参见 http://en.wikipedia.org/wiki/Futures_and_promises。
而在 javascript 世界中,一个广泛流行的库叫做 Q 地址是 https://github.com/kriskowal/q,而 angular 中的 $q 就是从它引入的。 promise 解决的是异步编程的问题,对于生活在同步编程世界中的程序员来说,它可能比较难于理解,这也构成了 angular 入门门槛之一,本文将用生活中的一个例子对此做一个形象的讲解。