Promise是做异步操作的

传统的异步写法是,各种嵌套,下一个操作依赖上一个获取的数据

  1. ajax('/banners', results => {
  2. //...
  3. ajax('/hotItems', hotItemData => {
  4. //...
  5. ajax('/sides', sidesData=>{
  6. // ...
  7. }, err=>{})
  8. }, err=>{})
  9. }, err=>{ //...showerr}})

用Promise实现

  1. Promise.all([
  2. ajax({url:'/banners', dataType:'json'}),
  3. ajax({url:'/hotItems', dataType:'json'}),
  4. ajax({url:'/sides', dataType:'json'}),
  5. ]).then(results => {
  6. let [banner, hotItem, side] = results
  7. // ...
  8. }, err=>{
  9. console.log('失败了')
  10. })