欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

简单谈谈js中Promise的用法

程序员文章站 2022-03-06 10:36:27
首先先推荐一篇博文:http://blog.csdn.net/jasonzds/article/details/53717501 这篇博文很清晰的说明了Promise的用法,这里来简单总结一下: Promise主要用来让连续的回调变得清晰。比如: 连续获取豆瓣电影数据: 这样写的话代码一复杂就会非常 ......

首先先推荐一篇博文: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);
    })
  })

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