码迷,mamicode.com
首页 > 其他好文 > 详细

七校项目中使用promise处理回调地狱问题

时间:2018-08-25 14:33:10      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:问题   eject   font   func   var   info   div   ESS   处理   

//封装一个promise
var ajaxPromise = function(param){
		return new Promise(function(suc,fail){
			debugger;
			console.log(param)
                       //ajax请求
			$.ajax({
				url:param.url,
				type:"post",
				async:false,
				data:param.data,
				dataType:"json",
				success: function(res) {
					suc(res);
				      },
				error: function(err) {
				   fail(err);
		      }
			})
		})
	}
	var step1 = ajaxPromise({url:‘Student_getStudentInfo‘,data:{phoneNum:sessionPhoneNum}})
		.then(function(res){
			console.log("jjjjj");
                        //返回一个新的之前封装的promise
			return ajaxPromise({url:"ApplyForm_getSchoolList",data:{}})
		})
		.then(function(res){
			console.log("gsjgj");
		},function(err){
			console.log("jfdhskjfhsdfhsj");
		})
		.catch(function(err){
			console.log(ajaxPromise);
			console.log("fkdjskjsdk");
		})
});    

  then方法里面可以有两个函数  第一个是当将Promise的状态变为fuifill的时候,后面一个函数是将promise状态变为reject的时候,

     但是其实catch也可以处理这样的reject 以及本来就需要处理的异常的报错所以不能简单党的将then理解为请求成功时执行的

七校项目中使用promise处理回调地狱问题

标签:问题   eject   font   func   var   info   div   ESS   处理   

原文地址:https://www.cnblogs.com/theworldofbeisong/p/9533120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!