洋葱圈模型

63 阅读1分钟

定义三个异步函数A() B() C(),A里面调用B,B里面调用C,然后返回。

image.png

<script>
  async function A() {
    console.log("进入A");
    // A里面执行B
    await B();
    console.log("离开A");
  }


  async function B() {
    console.log("进入B");
    const url =
      "https://iknow-pic.cdn.bcebos.com/71cf3bc79f3df8dc231c0403df11728b4710287b?x-bce-process=image";


    // 开始计时
    const start = Date.now(); /* 获取当前时间戳 */
    //等待c执行完成
    await C(url);
    // 计算总共花了多少时间
    const ms = Date.now() - start;
    // 打印执行时间
    console.log(`等待图片加载,总共花了${ms}毫秒`);
    console.log("离开B");
  }

  async function C(url) {
    console.log("进入c");
    await fetch(url);
    console.log("离开C");
  }
//   定义完了,调用
A()
</script>