在过去的几天里,我一直在学习 observables,并开始在我的 Angular 应用程序中使用它们。我有一个 Web API 应用程序,我正在通过打字稿中的 NSwagClient 生成一个客户端。我有一个以它为签名的 API 操作:
Task<ActionResult<List<Product>>> GetProducts(int skip, int take)
我在 typescript 中的 API 客户端是这样调用的:
_client.GetProductsAsync(0, 10).subscribe(next => {console.log(next)}, err => {}, () => {})
在我看来,当我要求下一次加载产品时(因此,跳过 10 个,取 10 个,然后跳过 20 个,取 10 个),我需要更新初始 _client.GetProductsAsync 调用的参数。但看起来,如果不取消订阅并使用新参数重新订阅可观察对象,我就无法做到这一点。这似乎与我认为可观察对象作为数据流的概念背道而驰,因为可观察对象应该创建一次,然后以某种方式“触发”以获得更多结果并将它们传递给观察者。
如何订阅一次 API 客户端并完成此操作?