Con suerte, alguien puede ayudar con esto: estoy tratando de iniciar el servidor apollo en un proyecto de TypeScript que ejecuta Express. Mi app.ts está debajo. Estoy teniendo el siguiente error:
Argument of type '(value: unknown) => void' is not assignable to parameter of type '() => void'.ts(2769)Creo que esto tiene algo que ver con la resolución de la última promesa de iniciar el servidor. ¡Gracias por responder a esta pregunta presumiblemente muy básica!
import express from 'express'; import { ApolloServer } from 'apollo-server-express'; import depthLimit from 'graphql-depth-limit'; import compression from 'compression'; import cors from 'cors'; import schema from './schema'; const corsConfig = { origin: '*', credentials: true }; async function startApolloServer() { const server = new ApolloServer({ schema, validationRules: [depthLimit(7)] }); await server.start(); const app = express(); app.use(cors(corsConfig)); app.use(compression()); server.applyMiddleware({ app }); await new Promise(resolve => app.listen({ port: 4000 }, resolve)); console.log(`🚀 Server ready at http://localhost:4000${server.graphqlPath}`); }Intente lo siguiente para que coincida con la firma de devolución de llamada esperada:
async function startApolloServer() { const server = new ApolloServer({ schema, validationRules: [depthLimit(7)] }); await server.start(); const app = express(); app.use(cors(corsConfig)); app.use(compression()); server.applyMiddleware({ app }); await new Promise(resolve => app.listen({ port: 4000 }, (value) => resolve(value))); console.log(`🚀 Server ready at http://localhost:4000${server.graphqlPath}`); }¡Espero que eso ayude!