|
@@ -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>
|