js循環中執行異步函數的方法


具體代碼如下:

<!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 getName(item){
            return new Promise((resolve, reject)=>{
                let sino = parseInt(Math.random() * 5000)
                console.log(sino);
                setTimeout(()=>{
                    resolve(item*2)
                },sino)
            })
        }
        async function getAllHistory() {
            let allHistory = []
            let list = [1,2,3,4,5];
            list.forEach((item)=>{
                allHistory.push((async(item)=>{
                   return await getName(item)
                })(item))
            })
            return await Promise.all(allHistory);
          }
          getAllHistory().then((res)=>{
            console.log(res);
          })
    </script>
</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM