Usando async / waitit com um loop forEach

Existem problemas com o usoasync/await em umforEach ciclo? Estou tentando fazer um loop através de uma matriz de arquivos eawait no conteúdo de cada arquivo.

import fs from 'fs-promise'

async function printFiles () {
  const files = await getFilePaths() // Assume this works fine

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

printFiles()

Esse código funciona, mas poderia algo dar errado com isso? Alguém me disse que você não deveria usarasync/await em uma função de ordem superior como essa, então eu só queria perguntar se havia algum problema com isso.