Javascript 阿波罗订阅不起作用

Javascript 阿波罗订阅不起作用,javascript,graphql,apollo,graphql-subscriptions,Javascript,Graphql,Apollo,Graphql Subscriptions,我有一个graphql服务器,每当实体的状态更新时,我都试图触发一个事件。我有一个用于更新实体的变体,它使用graphql订阅发布更新以供订阅方侦听。但是,pubsub.subscribe(EVENT_NAME)获取了更改,但是当我将其集成到订阅解析程序中时,它不会触发更新 为了简洁起见,我已经编辑了与问题无关的部分代码 我的解析器: Mutation: { updateStatus(_, { id, status, hash }) { return repository.updat

我有一个graphql服务器,每当实体的状态更新时,我都试图触发一个事件。我有一个用于更新实体的变体,它使用
graphql订阅
发布更新以供订阅方侦听。但是,
pubsub.subscribe(EVENT_NAME)
获取了更改,但是当我将其集成到订阅解析程序中时,它不会触发更新

为了简洁起见,我已经编辑了与问题无关的部分代码

我的解析器:

Mutation: {
  updateStatus(_, { id, status, hash }) {
    return repository.updateStatus(id, status, hash);
  }
},
Subscription: {
  updatedStatus: {
    subscribe: () => pubsub.asyncIterator('updatedStatus'),
  }
},
我的存储库:

export const updateStatus = async function(id: String, status: String, hash: String) {
  try {
    const res = await fetch(`${baseURL}/article/${id}/status?publish_hash=${hash}`, {
      headers,
      method: 'PATCH',
      body: JSON.stringify({ status })
    });

    const article = await fetchSingleArticle(id, 'XML', headers.channel, false);

    await pubsub.publish('updatedStatus', article);
    return article;
  } catch (e) {
    console.log(e.message);
  }
}
我的模式:

type Mutation {
  updateStatus(id: ID!, status: PublishingStatus = PUBLISHING, hash: String): Article
}

type Subscription {
  updatedStatus(id: ID!): Article
}

schema {
  query: Query
  mutation: Mutation
  subscription: Subscription
}
为了测试这一点,我只使用graphiql,它可以很好地处理websocket连接

我尝试了使用
文章
(如图所示)和
{updatedStatus:article}
进行发布,但两种方法似乎都没有成功

如前所述,
pubsub.subscribe('updatedStatus')
接受了更改。因此,问题似乎与订阅解析器有关


我将使用以下文档:

原来我使用的是一个过时的graphql包!更新到最新版本修复了此问题