Контекстная функция сервера Apollo выполняется каждые 2 секунды

#node.js #express #apollo-server

Вопрос:

Нормально ли, что context функция apollo-server-express постоянно выполняется с интервалом?

 const server = new ApolloServer({
  typeDefs,
  resolvers,
  context: ({ event, context, express }) => {
    console.log('context')
  }
})
 

Я вижу новый вывод журнала в консоли каждые 2 секунды или около того.

Приветствия

Ответ №1:

Я нашел виновника или, лучше, один из участников Apollo нашел его.

По словам Тревора из команды Apollo, это поведение по умолчанию при использовании Graphql Playground, будь то веб-версия или автономное приложение.

Я надеюсь, что это поможет кому-то, кто обнаружит ту же проблему.

Ответ №2:

Из документации по аргументам контекста:

Эта функция вызывается с каждым запросом, поэтому вы можете установить контекст на основе деталей запроса (например, заголовков HTTP).

Она будет выполняться каждый раз при получении запроса клиента, а не выполняться через интервал.

Комментарии:

1. Привет @slideshowp2 спасибо за ваш ответ. Я тоже видел этот абзац в документах, но context выполняется сразу после yarn start того, как я не делаю никаких вызовов на сервер. Вот почему я был в замешательстве.

2. Я также вижу, что это происходит при запуске сервера Apollo. И продолжает выполняться каждую секунду или около того… Это происходит не только по запросу… есть дополнительная информация?