ES6学习—Promise对象

ES6学习—Promise对象

Promise对象:代表了未来某个将要发生的事情(通常是一个异步操作)
有了Promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(俗称’回调地狱’)
ES6的Promise是一个构造函数,用来生成promise实例

1.promise的三种状态

pending:初始化状态
fullfilled:成功状态
rejected:失败状态

2.应用

用promise实现超时处理
用promise封装处理ajax请求

3.例子

1.成功
//创建promise对象resolve成功的回调函数reject失败的回调函数
var promise = new Promise( (resolve, reject) =>{
	//初始化promise 状态pending初始化
	console.log(111);
	//执行异步操作通常是发送ajax请求开启定时器
	setTimeout(() -=>{
		console.log(222);
		//根据异步任务的返回结果修改promise对象的状态/异步执行成功
		resoLve('成功数据');//fuLLfilLed:成功状态
		//异步执行失败
		// reject( );rejected:失败状态
	},1000)
});
console.log(333);
//调用promise的then(callback成功, caLlback失败);
promise.then((data) =>{
	console.log('成功了',data);
	return data;
}() =>{
	console.log('失败了');
}).then((res) =>{
	console.log(res);
}()=>{
	console.log( '失败');
})
2.失败
	//创promise对象resolve成功的回调函数reject失败的回调函数
	var promise = new Promise((resolve, reject)=>{
		//初始化promise 状态pending初始化
		console.log(111
		//执行异步操作通常是发送ajax请求开启定时器
		setTimeout(()=>{
			console.log(222);
			//根据异步任务的返回结果修改promise对象的状态
			//异步执行成功
			// resolve('成功数据');//fullfilled:成功状态
			//异步执行失败
			reject('请求失败');//rejected:失败状态
		}1000
	});
	console.log(333);
	//调用promisel的then(callback成功,callback失败)
	//promise. then(). then()
	promise.then((data)=>{
		console.log('成功了',data);
		return data;
	}(err)=>{
		console.log('失败了',err)
	}).then((res)=>{
		console.log(res);
	}()=>{
		console.log('失败');
	})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值