我正在通过{ API, graphqlOperation } from 'aws-amplify'
设置一个反应原生订阅。 当我尝试执行订阅时,我收到如下所示的神秘消息。
ExceptionsManager.js:44 [object Object]
reportException @ ExceptionsManager.js:44
handleException @ ExceptionsManager.js:113
handleError @ setUpErrorHandling.js:23
reportFatalError @ error-guard.js:49
__guard @ MessageQueue.js:386
callFunctionReturnFlushedQueue @ MessageQueue.js:110
(anonymous) @ debuggerWorker.js:69
这是产生问题的函数:
import { API, graphqlOperation } from 'aws-amplify';
...
const subscribeControlMsg = () => {
const test = `subscription subscribeUserControlMsg{
subscribeUserControlMsg{
id payload
} }
`;
const subscription = API.graphql(
graphqlOperation(test)
).subscribe({
next: (data) => console.log(data)
});
};
index.js
我已经通过Amplify.configure(config);
配置了端点。
错误由
API.graphql(graphqlOperation(test)).subscribe({
next: (data) => console.log(data)
});
这是一个
(method) APIClass.graphql({ query: paramQuery, variables, authMode }: GraphQLOptions): Promise<GraphQLResult<object>> | Observable<any>
我尝试过的一些事情:
- json.stringify APIClass.graphql...控制台上没有弹出任何内容
- 测试应用同步终结点。在 AWS 控制台上,它可以工作
- 检查 React 本机调试器的"网络"选项卡。在通过网络发送任何内容之前发生错误 订阅
- 并立即取消订阅和控制台日志。我得到
{"_observer":{},"_state":"ready"}
.不会引发任何错误
当前使用"react-native": "0.61.5","react-redux": "^7.1.3" and "redux": "^4.0.4"
如何调试与可观察量相关的 [对象对象] 错误?
经过大量测试,我发现Amplify使用RxJs库。 每个可观察量都有 3 个回调函数:开始、下一个、错误。所以要调试它,我只需要控制台.log错误并将其附加到回调,如下所示:
let dataP = API.graphql(graphqlOperation(test)).subscribe({
error: (error) => console.log(error),
next: (todoData) => console.log(todoData)
})