手写 ES6 promise

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39517820/article/details/84769980

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>promise对象原理详解</title>
    </head>
    <body>
    		
    </body>
    <script type="text/javascript">
     
    	// 创建promise对象(同步的)
    	let promise = new Promise((resolve,reject) => {
    		// 初始化promise状态为: pending
    		console.log(111)
    		// 执行异步操作,通常是发送ajax请求,开启定时器
    		setTimeout(() => {
    			console.log(333)
    			// 根据异步任务的返回结果去修改promise的状态(原理)
    			// 异步任务成功
    			resolve('哈哈 成功了!');// 自动修改promise的成功状态: fullfilled
    			// 异步任务失败
    			reject(); // 自动修改promise的失败状态: rejected
    		},2000)
    	})
    	console.log(222);// 先打印111 再222
    	
    	promise.then((data) => {//成功的回调
    		console.log(data, '成功了');// resolve()执行后 执行
    	},(error) => {// 失败的回调
    		console.log('失败了');// reject()执行后 执行
    	})
     
    </script>
    </html>

猜你喜欢

转载自blog.csdn.net/qq_39517820/article/details/84769980
今日推荐