zoukankan      html  css  js  c++  java
  • Promise初尝试

    promise.ts

    export function showAlert() {
      console.log("开始调用showAlert");
      return new Promise((reslove, reject) => {
        try {
          console.log("开始执行showAlert");
          setTimeout(() => {
            console.log("执行showAlert完成");
            reslove();
          }, 3000);
        } catch (e) {
          reject(e);
        }
      });
    }
    export function showAlert2() {
      console.log("开始调用2");
      return new Promise((reslove, reject) => {
        try {
          console.log("开始执行2");
          setTimeout(() => {
            console.log("执行2完成");
            reslove();
          }, 5000);
        } catch (e) {
          reject(e);
        }
      });
    }
    

    页面

    • import { showAlert, showAlert2 } from "../promise.ts";

    • 打印数据

    • 开始调用showAlert

    • 开始执行showAlert

    • 开始调用2

    • 开始执行2

    • 执行showAlert完成

    • 已经结束

    • 执行2完成

    • 2结束

    • 两个都调用

        // 总共经过5秒
        onSubmit() {
          showAlert()
            .then(res => {
              console.log("已经结束");
            })
            .catch(err => {
              console.log(err);
            });
          showAlert2()
            .then(res => {
              console.log("2结束");
            })
            .catch(err => {
              console.log(err);
            });
        }
      
    • 异步调用

        // 异步执行5秒完成
        async onSubmit() {
          Promise.all([showAlert(), showAlert2()]).then(() => {
            console.log("两个执行完成");
          });
        }
      
    • async await

        // 5秒完成
        async onSubmit() {
          const result = await Promise.all([showAlert(), showAlert2()]);
          console.log("async await 执行完成");
        }
      
    • await

        // 8秒完成
        async onSubmit() {
              await showAlert();
              await showAlert2();
              console.log("await完成");
            }
  • 相关阅读:
    spring源码怎么解决循环依赖?
    观察者模式
    单例模式
    Python 列表(List)
    python字符串(str)
    内置函数
    python运算符
    函数名的应用 闭包 迭代器
    生成器,推导式
    python的起源
  • 原文地址:https://www.cnblogs.com/DCL1314/p/11737890.html
Copyright © 2011-2022 走看看