promise async await 处理并发请求案例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    function getItem() {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve({
            '001': "启动",
            '002': "暂停",
            '003': "故障",
            '004': "重启"
          })
        }, 2000)
      })
    }
    function getData(item) {
      return new Promise((resolve, reject) => {
        setTimeout(() => {
          resolve([
            {
              id: 1,
              status: "001",
              title: "这是机器1"
            },
            {
              id: 2,
              status: "002",
              title: "这是机器2"
            },
            {
              id: 3,
              status: "003",
              title: "这是机器3"
            }
          ])
        },12000)
      })
    }
    async function run() {
      console.time()
      const [arr1, arr2] = await Promise.all([
        getItem(),
        getData()
      ])
      // const item = await getItem();
      // const data = await getData(item);
      arr2.map(i => {
        i.status=arr1[i.status]
      })
      console.log(arr2)
      console.timeEnd()
    }
    run();
  </script>
</body>

</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容