//复制粘贴即可看到效果,过5秒获取到省,再过5秒获取到市,再过5秒获取到县
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
new Promise((resolve, reject)=>{
setTimeout(()=>{
resolve("天津")
},5000)
}).then((sheng)=>{
console.log(sheng)
return new Promise((resolve)=>{
setTimeout(()=>{
resolve("宝坻")
},5000)
})
}).catch(err=>{
console.log("获取省失败")
}).then(shi=>{
console.log(shi)
return new Promise((resolve)=>{
setTimeout(()=>{
resolve("史各庄")
},5000)
})
}).catch(err=>{
console.log("获取市失败")
}).then(xian=>{
console.log(xian)
}).catch(err=>{
console.log("获取县失败")
})
</script>
</body>
</html>
//下面是我个人比较喜欢的async.await版本的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
async function sheng_ajax(){
return new Promise(resolve=>{
setTimeout(()=>{
resolve("天津")
},5000)
})
}
async function shi_ajax(sheng){
return new Promise(resolve=>{
setTimeout(()=>{
resolve("宝坻")
},5000)
})
}
async function xian_ajax(shi){
return new Promise(resolve=>{
setTimeout(()=>{
resolve("史各庄")
},5000)
})
}
async function run(){
let sheng = await sheng_ajax()
console.log(sheng)
let shi = await shi_ajax(sheng)
console.log(`${sheng}-${shi}`)
let xian = await xian_ajax(shi)
console.log(`${sheng}-${shi}-${xian}`)
}
run()
</script>
</body>
</html>