一尘不染

Apollo GraphQL不断接收请求,没有进行任何查询或更改

node.js

我正在学习GraphQL,即将完成本教程,以前从未发生过。

问题在于,即使未进行查询或更改,GraphQL服务器在打开浏览器中的GraphQL Playground后仍继续接收请求。

我看到服务器返回了这些响应:

{
    "name":"deprecated",
    "description":"Marks an element of a GraphQL schema as no longer supported.",
    "locations":[
      "FIELD_DEFINITION",
      "ENUM_VALUE"
    ],
    "args":[
      {
          "name":"reason",
          "description":"Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted using the Markdown syntax (as specified by [CommonMark](https://commonmark.org/).",
          "type":{
            "kind":"SCALAR",
            "name":"String",
            "ofType":null
          },
          "defaultValue":"\"No longer supported\""
      }
    ]
}

阅读 325

收藏
2020-07-07

共1个答案

一尘不染

这是预期的行为。

GraphQL Playground 向您的服务器发出一个自省查询。它使用该查询的结果为查询提供验证和自动完成。Playground会将该查询重复发送(默认情况下每2秒发送一次)到您的服务器,这样,如果您的架构发生更改,这些更改可以立即反映在UI中(尽管此功能目前存在问题)。

您可以调整相关设置(单击Playground UI右上角的设置图标)以更改轮询频率或将其完全关闭:

  'schema.polling.enable': true, // enables automatic schema polling
  'schema.polling.endpointFilter': '*localhost*', // endpoint filter for schema polling
  'schema.polling.interval': 2000, // schema polling interval in ms

但是,您看到的行为仅与Playground有关,因此它是无害的,不会影响连接到服务器的任何其他客户端。

2020-07-07