How to nest asynchrony in Synchronize?

how to nest async in Synchronize

async function main(num) {  
  for (var j = num; j < num+20; jPP) {  
     fetch(j);// } }
async function main1() { 
     for (let i=0;i<10;iPP) { 
      await main(20*i); } } 

Why can"t this be done? How can we get data asynchronously with 20 fetch at the same time, and then proceed to the next 20 fetch asynchrony after completion?
look forward to the answer, explain why, thank you

Mar.13,2021

Promise.all
or

const fetchRes=[];
for(let i=0;i<20;PPi){
    fetchRes.push(fetch(...));
}
for(let i=0;i<20;PPi){
    await fetRes[i];
}
MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b36537-2bfff.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b36537-2bfff.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?