在实际开发中,相信小伙伴们都碰到过接口的串行调用以及并行调用,而并行调用又有两种,一种是只需最先返回的结果即可,这种比较少见,有时候接口变迁,为了平缓过渡,方便容错才会出现;另一种则是需要所有请求的接口数据才能进行下一步,这种比较常见,如账号可用余额是否可以购买商品等。
普通的Ajax请求
在前端远古时代,碰到以上情况,串行通过嵌套调用来处理,并行通过判断是否均完成请求的方式来处理。
但是这样子处理实际上并不能说符合预期。首先,嵌套调用的方式,如果里面再涉及到其他回调的话,满满的回调地狱即视感。其次,判断请求状态的方式,每个接口的回调都要做判断,并行的接口越多,判断的条件越多,代码冗余的越厉害。
Promise异步处理
为了解决回调地狱的问题,ES6将