【发布时间】:2019-12-10 11:26:00
【问题描述】:
我有一个运行 NestJs 的 GraphQL 服务器。当我使用各种查询发出请求时,我想取消每个待处理的可观察对象并在其中一个失败时返回错误。我使用 Axios 作为 http 客户端。
所以,当一个失败返回那个 observable 的错误和服务器响应时,请求就结束了。但是所有其他的 observables 仍然活着并且随着时间的推移变得完整,并且由于请求结束而永远不会到达客户端。
我如何取消所有待处理的 observables??
query combine {
firstQuery { <--- this fail
fieldOne
}
secondQuery { <-- this keep the request alive
secondOne
}
}
更新 在示例中,两个查询都使用 Axios Http Client 向另一个资源发出 Http 请求。因此,当其中一个抛出错误时,服务器 GraphQL 会返回错误,但另一个请求仍然存在,没有被取消或取消订阅。
【问题讨论】: