1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 <meta http-equiv="X-UA-Compatible" content="ie=edge">
7 <title>Document</title>
8 </head>
9 <body>
10 <script>
11 // Promise 单词表示承诺
12 // 是干嘛的? 是js中一种异步编程的解决方案(使异步函数可以同步执行),在没有promise之前,js是通过回调函数来实现异步编程的同步操作的
13 // Promise 解决了什么问题? 回到地狱,回调地狱是什么?回调函数层层嵌套
14 // promise的优势? 使异步函数可以同步的执行,解决了回调地狱的问题
15 // Promise是一个构造函数
16 // 理解:它是一个容器,内部分装了异步操作
17 // 参数:回调函数
18 // resolve表示then方法的回调函数
19 // 参数:lei hao a 会传递给data
20
21
22 // 成功
23 const p=new Promise(function(resolve,reject){
24 // 异步操作成功就调用resolve
25 // 异步操作失败就调用reject
26 setTimeout(()=>{
27 //参数:表示成功后,要传递的数据
28 resolve(‘lei hao a‘)
29 },2000)
30 })
31 p.then(function(data){
32 console.log(‘异步操作成功了‘,data) //两秒后输出 异步操作成功了 lei hao a
33 })
34
35
36
37
38
39 // 失败
40 const L=new Promise(function(resolve,reject){
41 // 异步操作成功就调用resolve
42 // 异步操作失败就调用reject
43 setTimeout(()=>{
44 //参数:表示失败后:会将参数传递给err
45 reject(‘出错了‘)
46 },2000)
47 })
48 L.then(function(data){
49 console.log(‘异步操作成功了‘,data)
50 }).catch(function(err){
51 console.log(err)
52 })
53
54 </script>
55 </body>
56 </html>
原文:https://www.cnblogs.com/javascript9527/p/11374073.html