Есть три различных места, где таймауты может иметь смысл:
1. Для подключения к серверу
Чтобы иметь тайм-аут для запросов, отправляемых на сервер, вы можете создать оболочку вокруг сетевой интерфейс, который будет отклонять запросы запросов через x секунд.
2. Для разрешения запросов на сервере GraphQL
реализовать за-запроса тайм-аут на сервере, вы можете поместить время запуска запроса на контекст в начале запроса, и обертка каждая функция разрешения с функцией, которая либо возвращает обещание от распознавателя, либо отклоняется после истечения таймаута.
3. Для соединения между вашим сервером и GraphQL бэкэнде
Для реализации таймаута для запросов на внутренний интерфейс, вы можете просто сделать выборки-запросы времени бэкэндов из после определенного количества времени ,
PS: Стоит отметить, что вышеупомянутые решения вызовут запросы или запросы на тайм-аут, но они не будут отменять их, а это значит, что ваш сервер или серверы, скорее всего, продолжит работу, которая теперь будет потрачена впустую. Однако отмена является совершенно другой проблемой, и ее также сложно решить.
Спасибо за подробный ответ, Helfer. У вас есть какие-нибудь рабочие примеры, на которые я мог бы обратить внимание? Спасибо! – Detuned