Error de syntax en la función de flecha asíncrona

Estoy siguiendo este ejemplo, pero en esta sección de código …

const getApiAndEmit = async socket => { try { const res = await axios.get( "https://api.darksky.net/forecast/PUT_YOUR_API_KEY_HERE/43.7695,11.2558" ); // Getting the data from DarkSky socket.emit("FromAPI", res.data.currently.temperature); // Emitting a new message. It will be consumed by the client } catch (error) { console.error(`Error: ${error.code}`); } }; 

Obtuve el siguiente error

 D:\Documents\js\socketio-server\app.js:42 const getApiAndEmit = async socket => { ^^^^^^ SyntaxError: Unexpected identifier at createScript (vm.js:56:10) at Object.runInThisContext (vm.js:97:10) at Module._compile (module.js:542:28) at Object.Module._extensions..js (module.js:579:10) at Module.load (module.js:487:32) at tryModuleLoad (module.js:446:12) at Function.Module._load (module.js:438:3) at Module.runMain (module.js:604:10) at run (bootstrap_node.js:389:7) at startup (bootstrap_node.js:149:9) PS D:\Documents\js\socketio-server> 

Debe actualizar al nodo 7.6 (o superior ) ya que la palabra clave async no era compatible con versiones anteriores. A partir de este momento, 6.11 es la versión LST y 8.3 es la última.

debe encerrar la función entre paréntesis ()

 const getApiAndEmit = async (socket => { try { const res = await axios.get( "https://api.darksky.net/forecast/PUT_YOUR_API_KEY_HERE/43.7695,11.2558" ); // Getting the data from DarkSky socket.emit("FromAPI", res.data.currently.temperature); // Emitting a new message. It will be consumed by the client } catch (error) { console.error(`Error: ${error.code}`); } }); 

La syntax de la función parece correcta. Es posible que deba actualizar el nodo, ya que el soporte async no llegó hasta principios de este año (edición: versión 7.6 después de googlear).

Puede volver a escribir utilizando promesas o probar el indicador --harmony cuando se ejecuta desde la línea de comandos.