问题描述
我目前正在使用AWS Amplify框架构建React Native应用程序。
在我的应用程序中,应该有一个实时仪表板,当有新项目添加到数据库时会更新。
为了实现此功能,我正在使用Amplify和AppSync API使用GraphQL订阅。
由于某种原因,订阅将不会响应数据库上发生的事件。
这是我的代码:
import React,{ useEffect } from 'react';
import { API,graphqlOperation } from 'aws-amplify';
import * as subscriptions from '../../src/graphql/subscriptions';
const App = () => {
useEffect(() => {
subscribeUsers();
},[]);
const subscribeUsers = async () => {
await API.graphql(graphqlOperation(subscriptions.onCreateUser,{appId: appId})).subscribe({
next: (todoData) => console.log(todoData),error: (err) => console.log(err)
});
}
...
}
export default App;
这是我的index.js代码:
import {AppRegistry} from 'react-native';
import App from './App';
import {name as appName} from './app.json';
import Amplify from 'aws-amplify';
import config from './aws-exports';
AppRegistry.registerComponent(appName,() => App);
Amplify.Logger.LOG_LEVEL = 'DEBUG';
Amplify.configure(config);
调试日志显示连接已启动:
AWSAppSyncRealTimeProvider - subscription message from AWS AppSync RealTime: {"id":"...","type":"start_ack"}
此外,每分钟我都会收到以下日志消息之一,告诉我连接仍处于活动状态,这很奇怪,因为我没有获得有关发生的任何事件的信息:
AWSAppSyncRealTimeProvider - subscription message from AWS AppSync RealTime: {"type":"ka"}
AWSAppSyncRealTimeProvider {"id": "","observer": null,"query": "","variables": {}}
GraphQL模式是由AppSync API直接生成的。
我的订阅有什么问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)