我正在使用angular和graphql,并且希望在运行时交换return接口。
我创建了一个通用函数,该函数根据所选查询名称执行查询,并希望键入(而不是任何一个或“接口A |接口B”)返回给我的报酬。
是这样的:
query(queryName: string, variables?: any) {
let selected = this.querys[queryName];
return this.apollo.query<any>({
query: selected.query,
variables: variables ? variables : selected.default,
fetchPolicy: "network-only"
}).pipe(
map(res => res.data)
);
}
我使用的界面是这样的:
import * as q from './Querys';
export const AvailableQuerys = {
"GET_ALL_EXAMPLE_QUERY": {
"query": q.GET_ALL_EXAMPLE_QUERY,
"default": {
page: 1, limit: 10, where: { status: 1 }
},
"queryInterface": {{I NEED THIS}}
},
}
通过这种方式,我可以非常轻松地调用和创建查询,但是我想代表对更好的理解的返回。
我该怎么办?