¿Cómo envolver las llamadas a funciones asíncronas en una función de sincronización en Node.js o Javascript?

Suponga que mantiene una biblioteca que expone una función getData. Sus usuarios lo llaman para obtener datos reales: var output = getData(); los datos internos se guardan en un archivo para que los implemente getDatautilizando Node.js integrado fs.readFileSync. Es obvio tanto getDatay...