123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <script>
- /**
- * js的执行机制 EventLoop
- * 先同步 后异步
- */
- // Promise 异步操作
- // 三种状态:pending 进行中; resolve/fulfilled 已成功; reject 已失败
- // 第一种
- /**
- * new Promise((resolve,reject) => {
- * 代码块
- * resolve()/reject();
- * }).then(() => {
- * 成功的代码
- * }).catch(() => {
- * 失败的代码
- * })
- */
- // new Promise((resolve,reject)=>{
- // setTimeout(()=>{
- // console.log(1);
- // },2000)
- // reject();
- // }).then(() => {
- // // 成功走then
- // console.log("2")
- // }).catch(()=>{
- // // 失败走catch
- // console.log("3")
- // })
- // 第二种
- // let book = new Promise((resolve, reject) => {
- // setTimeout(() => {
- // console.log(1);
- // reject();
- // }, 2000)
- // })
- // book.then(() => {
- // // 成功走then
- // console.log("2")
- // }).catch(() => {
- // // 失败走catch
- // console.log("3")
- // })
- let p1 = new Promise((resolve,reject) => {
- console.log("11");
- resolve();
- })
- let p2 = new Promise((resolve,reject) => {
- console.log("22");
- reject();
- })
- let p3 = new Promise((resolve,reject) => {
- console.log("33");
- reject();
- })
- // Promise.all传入的对象必须都为真才是真
- // Promise.all([p1, p2, p3]).then(()=>{
- // console.log("哈哈")
- // }).catch(() => {
- // console.log("哒哒哒")
- // })
- // Promise.race第一个传入的对象为真才是真
- Promise.race([p1, p2, p3]).then(()=>{
- console.log("哈哈")
- }).catch(() => {
- console.log("哒哒哒")
- })
- </script>
- </body>
- </html>
|