why async await is not working in foreach function code example

Example 1: async foreach

async function asyncForEach(array, callback) {
  for (let index = 0; index < array.length; index++) {
    await callback(array[index], index, array);
  }
}

asyncForEach([1, 2, 3], async (num) => {
  await waitFor(50);
  console.log(num);
})

Example 2: ts await foreach loop

async function printFiles () {
  const files = await getFilePaths();

  await Promise.all(files.map(async (file) => {
    const contents = await fs.readFile(file, 'utf8')
    console.log(contents)
  }));
}