promise解决回调地狱
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise解决回调地狱相关的知识,希望对你有一定的参考价值。
参考技术A <script src="./jquery-1.12.4.js"></script><script>
// axios('..')
// .then(res=>
// /* 返回 地球 月球 */
// /* 。。。。 */
// )
// .then(res=>
// /* 返回 美洲 亚洲 */
// )
// .then(res=>
// /* 返回中国 美国 */
// )
/* console.log(Promise); */
/**
* 功能:用来解决回调地狱
* @params Function
* */
new Promise(
/**
* @params resolve Function 请求已经完成的时候调用
* @params reject Function 请求发送失败的时候调用
* */
function (resolve,reject)
$.ajax(
url:"xingqiu.txt",
success:function(res)
/* 返回 地球 月球 */
resolve(res)
,
error:function(err)
reject(err)
)
)
/* .then里面只有一个回调函数是用来接收请求成功后得到的数据 */
// .then(data=>
// console.log('then1:',data);
// /* 如果需要传给下一个then 需要return你要传的数据 */
// return '地球';
// )
// /* .catch是用来捕获失败的时候得到的错误信息的 */
// .catch(error=>
// console.log('catch1:',error);
// )
/* .then里面有两个回调函数,第一个表示请求成功,
第二个表示请求失败的时候调用 */
// .then(data=>
// console.log('then1:',data);
// return '地球';
// ,error=>
// console.log('catch1:',error);
// )
.then(data=>
console.log('then2:',data.substring(0,3) );
return new Promise(resolve=>
$.ajax(
url:'./zhou.txt?name='+data,
success:function(res)
// console.log('第二个请求拿到的洲数据',res);
resolve('亚洲')
,
error:function(err)
// console.log(err);
// console.log('提示:接口请求失败');
)
)
)
.then(data=>
console.log('then3:',data);
return new Promise(resolve=>
$.ajax(
url:'./guo.txt?name='+data,
success:function(res)
console.log('第三个请求拿到最终的数据',res);
,
error:function(err)
// console.log(err);
// console.log('提示:接口请求失败');
)
)
)
</script>
以上是关于promise解决回调地狱的主要内容,如果未能解决你的问题,请参考以下文章
面试题系列---什么是Promise,解决什么问题?Promise.all解决了什么问题?实现原理?回调地狱?