首先先推荐一篇博文:
这篇博文很清晰的说明了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); }) })
虽然代码量多了些,但是维护起来明显会更加方便。
您可能感兴趣的文章:
如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!
网友评论