Promise链式调用
概念:依靠then()方法会返回一个新生成的Promise对象特性。继续串联下一环任务,直到结束。
细节: then()回调函数中的返回值,会影响新生成的 Promise对象最终状态和结果
好处:通过链式调用,解决回调函数嵌套问题
省市区示例
let pname, cname, area = ''
axios({ url: 'http://hmajax.xxxxx.net/api/province' }).then(res => {
// console.log(res)
pname = res.data.list[0]
document.querySelector('.province').innerHTML = pname
return axios({ url: 'http://hmajax.xxxxx.net/api/city', params: { pname } })
}).then(res => {
// console.log(res)
cname = res.data.list[0]
document.querySelector('.city').innerHTML = cname
return axios({ url: 'http://hmajax.xxxxx.net/api/area', params: { pname, cname } })
}).then(res => {
// console.log(res)
area = res.data.list[0]
document.querySelector('.area').innerHTML = area
})