Promise解决将多个异步执行控制成同步执行的问题

Promise解决将多个异步执行控制成同步执行的问题

问题描述:多个回调函数顺序执行产生不可靠的回调(第二个异步依赖第一个异步的返回结果,第三个异步依赖第二个异步的结果,以此类推)。
解决方法:
以两个异步回调函数为例,三个异步回调函数以此类推

//第一个异步函数
var oneStep = function () {
	return new Promise (function (resolve,reject) {
		//执行返回成功的函数,data为返回的值
		resolve(data)
		//执行返回失败的reject,err错误的原因
		reject(err)
	})
}
//第二个异步函数,params为第一个异步resolve中传入的data值
var twoStep = function (params) {
	return new Promise (function (resolve,reject) {
		//执行返回成功的函数,data为返回的值
		resolve(data)
		//执行返回失败的reject,err错误的原因
    	reject(err)
	})
}

将两个异步控制成同步,第二个回调函数的入参,依赖第一个回调函数返回的值。

oneStep().then(function(data){ //第一个then为第一个回调执行返回的结果
	//将第一个回调函数成功的data值传入twoStep中
	return twoStep (data)
},function(err){
	//reject时的处理
}).then(function (data) {  //第二个then为第二个回调执行返回的结果
	//resolve处理方法
},function (err) {
	//reject处理方法
})

你可能感兴趣的:(vue)