这里我们先介绍一下var deferred = new Deferred();看下面代码:


该对象主要的两个方法:resolve()和reject()。resolve()作为延迟对象等到请求获得数据后返回promise对象;reject()则表明请求失败。当有多个请求是我们可以构造请求链[request1function(),request2function(),request3function,…],在每个requestfunction()里面设置deferred对象,并在每个对象请求完得到数据后调用resolve()方法,将放回的数据结果放进promise对象里。

得到请求链之后,我们使用all来处理请求链的结果返回

最后得到的结果就是请求链全部请求完成后返回的数据集。下面我们就可以用拿到的数据进行页面渲染。
如有不正之处,恳请指正。