首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用GraphQL的"else“

使用GraphQL的"else“
EN

Stack Overflow用户
提问于 2019-06-14 13:27:19
回答 1查看 1.6K关注 0票数 2

如何使用GQL指令实现"else“效果

有一种方法可以使用@include(if: $withFriends)通过gql有条件地获取一些内容

代码语言:javascript
复制
query Hero($episode: Episode, $withFriends: Boolean!) {
  hero(episode: $episode) {
    name
    friends @include(if: $withFriends) {
      name
    }
  }
}

但如果$withFriends为false,我想获取其他东西。我可以通过传递额外的变量$notWithFriends来实现

代码语言:javascript
复制
query Hero($episode: Episode, $withFriends: Boolean!) {
  hero(episode: $episode) {
    name
    friends @include(if: $withFriends) {
      name
    }
    appearsIn @include(if: $notWithFriends)
  }
}

问:是否有可能避免使用额外的变量?

如下所示:@include(else: $withFriends)@include(ifNot: $withFriends)@include(if: !$withFriends)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-14 16:16:35

您可以使用@skip指令,它的工作方式与@include相反--如果if参数为true,它将省略选择集中的字段

代码语言:javascript
复制
query Hero($episode: Episode, $withFriends: Boolean!) {
  hero(episode: $episode) {
    name
    friends @include(if: $withFriends) {
      name
    }
    appearsIn @skip(if: $withFriends)
  }
}

这样,如果$withFriendstrue,则只会选择namefriends。如果为false,则仅选择nameappearsIn

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56591874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档