0

在操场上工作...

我正在尝试查询以下枚举值:

query {
  __type(name:"ActivityType") {
    enumValues {
      name
    }
  }
}

当我用操场测试查询时,它可以工作。我收到以下枚举值列表ActivityType

不适用于 Apollo 客户端...

当我使用客户端运行以下代码时,我收到了第一个查询的预期结果,但不是第二个:

import ApolloClient, { gql } from 'apollo-boost'

const FIRST_QUERY = gql`
  query successfulQuery {
    totalActivities
  }
`

const SECOND_QUERY = gql`
  query unsuccessfulQuery {
    __type(name:"ActivityType") {
      enumValues {
        name
      }
    }
  }
`

const client = new ApolloClient({ uri: 'http://localhost:4000' })

//
// First Query returns data
//

client.query({ query: FIRST_QUERY })
  .then(console.log)
  .catch(console.error)

//
// Second Query does not return data
//

client.query({ query: SECOND_QUERY })
  .then(console.log)
  .catch(console.error)  

结果

{ data: {...}, loading: false, networkStatus: 7, stale: false }
{ data: null, loading: false, networkStatus: 7, stale: false }

您必须与客户端一起实现一些特殊的功能以允许内省查询吗?

4

0 回答 0