首页 > 解决方案 > Graphql 订阅出错并出现错误:“订阅握手期间出错”

问题描述

我尝试用 graphql 创建一个聊天应用程序。为此,我需要订阅。但是当我尝试实现订阅时,我总是收到错误:“订阅握手期间出错”

我使用 AWS Appsync 作为服务器,使用 aws-amplify appolo 提供程序作为客户端。

这是我的订阅代码。

export default graphql(gql(queryChatsByUserConversatioID), {
  options: (props) => ({
    fetchPolicy: 'cache-and-network',
    variables: {
      UserConversationID: "Test"
    }
  }),
  props: props => ({
    chats: props.data.queryChatsByUserConversatioID
      ? props.data.queryChatsByUserConversatioID.items
      : [],
    data: props.data,
    subscribeToNewChats: params => {
      props.data.subscribeToMore({
        document: gql(onCreateChat),
        updateQuery: (prev, { subscriptionData: { data : { onCreateChat } } }) => ({
          ...prev,
          queryChatsByUserConversatioID: { __typename: 'ChatConnection', items: [onCreateChat, ...prev.queryChatsByUserConversatioID.items.filter(chat => chat.id !== onCreateChat.id)] }
        })
      })
    }
  })
})(ChatView);

有没有人想解决这个问题或获得更有用的错误消息?

标签: reactjsgraphqlgraphql-jsaws-appsyncaws-amplify

解决方案


推荐阅读