您当前的位置: 首页 > 学无止境 > JS经典实例 网站首页JS经典实例
ES6_promise对象原理详解
发布时间:2019-10-20 11:58:23编辑:雪饮阅读()
promise可避免回调地狱,是一个比较不错的特性,在对他不是很了解时曾经误以为是强制同步请求...
实例如:
<script type="text/javascript">
let promise=new Promise((resolve,reject)=>{
//初始化状态为pending
console.log('init');
//执行异步操作,例如ajax异步等,这里以定时器为例
setTimeout(()=>{
var url=location.href;
if(url.indexOf('error')==-1){
//异步任务执行成功(修改promise状态为fullfilled)触发成功回调(then的第一个形参方法)
var ajaxData={code:0,data:{age:12,name:'dmj'}};
resolve(ajaxData);
}
else{
//异步任务执行失败(修改promise状态为rejected)触发失败回调(then的第二个形参方法)
var ajaxData={code:1,data:{age:12,name:'gjp'}};
reject(ajaxData);
}
});
});
//promise对象then方法的两个形参对应resolve和reject的回调
promise.then((ajaxData)=>{
console.log('success callback');
console.log(ajaxData);
},(ajaxData)=>{
console.log('fail callback');
console.log(ajaxData);
});
</script>
关键字词:es6,promise
上一篇:ES6_形参默认值
下一篇:微信小程序运行时日志(体验版)