小程序request 请求ApolloServer服务

最近在用react + remax + apolloServer graphql 开发小程序
。。。。 不废话了上代码

// server.ts 简单封装下,就都用any了
import { request } from "remax/wechat"
/**
 * api 接口地址
 * vari 参数
*/
const server = ({ api, vari }: any) => {
	return new Promise((resolve, reject) => {
		request({
			url: '///graphql', // 后台地址
			method: 'POST',
			header: {
				"Content-Type":"application/json"
			},
			data: {
				query: api,
				variables: vari 
			},
			success: res => resolve(res.data),
			fail: err => reject(err)
		})
	})
}
export default server
// 使用
import server from "url";
const TEST_API = `
  query Hello ($msg: msg){
    hello(msg: $msg)
  }
`

const result = server({
  api: TEST_API,
  vari: {
    msg: 'hello graphql'
  }
})
console.log('result:', result.data.msg); // hello graphql 
// server端
// schema
const typeDefs = `#graphql
  type Query {
    hello(msg: String): String
  }
`;
// resolvers msg 是前端传入的参数 
// { msg } 是从args解构, args.msg
const resolvers = {
  Query: {
    hello: (_, { msg }) => msg,
  },
};

有很多方式可以与apollo交互,比如@apollo/client的useQuery useMutation或者react-query。
文章中的方式是比较熟悉的就用了
欢迎评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值