¿Por qué la siguiente función de flecha asíncrona no funciona en Node? Funciona bien si defino la función y luego la ejecuto por separado, pero no cuando lo hago en línea. Sé que esperar y luego / atrapar de nivel superior sería suficiente. Estoy confundido en cuanto a por qué esto no funciona.
Vea a continuación el código y el error.
const express = require('express') const mongoose = require('mongoose') const db = 'file-storage'; const pw = 'fakepassword' const app = express() (async () => { await mongoose.connect( `mongodb+srv://sailor:${pw}@sm-cluster.yldyivh.mongodb.net/${db}?retryWrites=true&w=majority` ) console.log(`Connected to MongoDB @ ${db}`) })() TypeError: Cannot read properties of undefined (reading 'headersSent') at headersSent (/Users/sailormetz/Software Development/Javascript/CurrentProjects/file-storage/server/node_modules/finalhandler/index.js:256:21) at /Users/sailormetz/Software Development/Javascript/CurrentProjects/file-storage/server/node_modules/finalhandler/index.js:92:17 at Function.handle (/Users/sailormetz/Software Development/Javascript/CurrentProjects/file-storage/server/node_modules/express/lib/application.js:177:5) at app (/Users/sailormetz/Software Development/Javascript/CurrentProjects/file-storage/server/node_modules/express/lib/express.js:39:9) at Object.<anonymous> (/Users/sailormetz/Software Development/Javascript/CurrentProjects/file-storage/server/app.js:8:1) at Module._compile (node:internal/modules/cjs/loader:1103:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1155:10) at Module.load (node:internal/modules/cjs/loader:981:32) at Function.Module._load (node:internal/modules/cjs/loader:822:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12)