e 1 жил өмнө
parent
commit
20921a9ca3
1 өөрчлөгдсөн 87 нэмэгдсэн , 0 устгасан
  1. 87 0
      es6/15.Promise.html

+ 87 - 0
es6/15.Promise.html

@@ -0,0 +1,87 @@
+<!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>