3

我正在使用 apollo 服务器和 graphql 并且有必要设置超时,所以我将它与 express 一起使用:

   const server = app.listen({ port: 4000 }, () =>
       console.log( `The server is running in http://localhost:4000${server.graphqlPath}`));

   server.setTimeout(60000);

这可以设置超时,但我在 Apollo Server Playground 中收到以下消息:

{
  "error": "Failed to fetch. Please check your connection"
}

但是我认为只发送该文本是不行的,所以我可以编辑该消息或为我收到的错误添加一些属性吗?,我花了一段时间在某些地方搜索但没有成功。

4

1 回答 1

1

此错误消息不是由服务器端发送的。这是一个客户端错误。

这是 graphql 游乐场的此错误的源代码

export function formatError(error, fetchingSchema: boolean = false) {
  const message = extractMessage(error)
  if (message === 'Failed to fetch') {
    const schemaMessage = fetchingSchema ? ' schema' : ''
    return { error: `${message}${schemaMessage}. Please check your connection` }
  }

  try {
    const ee = JSON.parse(message)
    return ee
  } catch (e) {
    //
  }

  return { error: message }
}
于 2020-02-24T09:36:26.040 回答