Nodo esperar a la función asincrónica antes de continuar

Tengo una aplicación de nodo que usa algunas funciones asíncronas.

¿Cómo puedo hacer para esperar a que se complete la función asincrónica antes de continuar con el resto del flujo de la aplicación?

A continuación hay un ejemplo simple.

var a = 0;
var b = 1;
a = a + b;

// this async function requires at least 30 sec
myAsyncFunction({}, function(data, err) {
    a = 5;
});

// TODO wait for async function

console.log(a); // it must be 5 and not 1
return a;

En el ejemplo, el elemento "a"para volver debe ser 5 y no 1. Es igual a 1 si la aplicación no espera la función asíncrona.

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta