简单谈谈js中Promise的用法

2018-06-24 01:39:28来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

首先先推荐一篇博文:http://blog.csdn.net/jasonzds/article/details/53717501

这篇博文很清晰的说明了Promise的用法,这里来简单总结一下:

Promise主要用来让连续的回调变得清晰。比如:

连续获取豆瓣电影数据:

  $.get("https://api.douban.com/v2/movie/top250?count=5",function (data) {
    console.log(data);
    $.get("https://api.douban.com/v2/movie/coming_soon?count=5",function (data) {
      console.log(data);
      $.get("https://api.douban.com/v2/movie/in_theaters?count=5",function (data) {
        console.log(data);
      })
    })
  })

这样写的话代码一复杂就会非常乱。如何用Promise来简化它呢?

  new Promise(function (resolve, reject) {
    $.get("https://api.douban.com/v2/movie/top250?count=5",function (data) {
      resolve(data)
    })
  }).then(function (res) {
    console.log(res); //这里获取到的是resolve(data)里的data。
    return $.get("https://api.douban.com/v2/movie/coming_soon?count=5",function (data) {
      return data
    })
  }).then(function (res) {
    console.log(res); //这里获取到的是上一个then中return回来的数据
    $.get("https://api.douban.com/v2/movie/in_theaters?count=5",function (data) {
      console.log(data);
    })
  })

虽然代码量多了些,但是维护起来明显会更加方便。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:js 移动端上拉刷新(基于ng1)

下一篇:spring boot + vue + element-ui全栈开发入门——基于Electron桌