【发布时间】:2021-02-16 20:37:11
【问题描述】:
我有一个向 graphQL 端点发送 fetch 请求的 JavaScript 函数。我的目标是根据传递给 JavaScript 函数的参数向我的 graphQL 查询添加一个片段,例如,我的函数如下所示:
const getEvent = async (id, lang) => {
const data = await fetchAPI(`
fragment EventFields on Event {
title
slug
date
}
fragment BnFields on Event {
bn {
content
subtitle
}
}
query fetchEvent($id: ID!, $idType: EventIdType!) {
event(id: $id, idType: $idType) {
...EventFields
content
}
}
}
}
如果getEvent 函数的lang 参数等于bn,我想添加BnFields 片段。我知道我可以通过根据lang 参数声明两个单独的查询来实现这一点,但我想知道graphQL 本身是否有更优化的方法来添加基于变量的片段。任何帮助将不胜感激。
【问题讨论】:
-
您发布的
getEvent函数似乎不完整。能否请edit它包含实际代码? -
@xadm 请不要进行不必要的编辑。
标签: javascript graphql