<!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>
手写 ES6 promise
最新推荐文章于 2023-02-01 11:22:55 发布