gpt4 book ai didi

react-native - 订阅在 React Native 中不起作用?

转载 作者:行者123 更新时间:2023-12-03 19:10:42 25 4
gpt4 key购买 nike

我需要整合subscription在我的 ReactNative应用程序。 subscription工作正常 localhostgraphiql .我已经在 Heroku 上部署了我的后端.我正在使用 apollo-server而不是 hasura .我的订阅不适用于 Heroku 提供的 url,但它在 localhost 上工作正常。查询和突变对于 localhost 和 Heroku url 都可以正常工作。所以我试图从我的 ReactNative 访问我的订阅。客户。我将基本网址保留为我的本地主机。查询和突变部分适用于我的 ReactNative客户,但我的订阅部分不起作用。

我已经通过添加这个配置了我的 Apollo 客户端进行订阅

const httpLink = createHttpLink({
uri: 'http://localhost:5000',
});

const wsLink = new WebSocketLink({
uri: `ws://localhost:5000`,
options: {
reconnect: true,
connectionParams: {
// headers: {
// Authorization: `Bearer ${token}`,
// },
},
},
});

const authLink = setContext(async (req, {headers}) => {
try {
const token = await AsyncStorage.getItem('token');
return {
headers: {
...headers,
authorization: token ? `Bearer ${token}` : '',
},
};
} catch (e) {
console.log(e);
}
});

const link = split(
({query}) => {
const {kind, operation} = getMainDefinition(query);
return kind === 'OperationDefinition' && operation === 'subscription';
},
wsLink,
authLink.concat(httpLink),
);

const client = new ApolloClient({
link: link,
cache: new InMemoryCache(),
});

这是我的 useSubscription
const {data, error, loading} = useSubscription(
HEALTH_CONSULTATION_SUBSCRIPTION,
);

我既没有收到错误也没有数据。
我正在触发 subscription来自 Graphiql

最佳答案

所以我的 React Native 没有问题代码。问题出在我使用的 Heroku 免费层上。我尝试更换我的 subscriptionHasura's Subscription https://hasura.io/learn/graphql/graphiql?tutorial=react-native它有效。

关于react-native - 订阅在 React Native 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62304652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com