Angular 6-如何使用Angular的httpClient查看URI数据中的更改

时间:2018-06-25 16:35:25

标签: angular httpclient angular6

因此,我正在尝试做一些事情,但感觉好像缺少一条信息。我正在使用Angular 6 httpClient从URI获取数据。我让它工作一次就可以很好地获取数据,但是URI中的任何更改都不会在没有发出多个get请求和多个订阅的情况下更新。我想知道这段代码如何用于监视URI中的更改。

#include <stdio.h>
#include <string.h>
int main() {
    long long i = strtoll("135898539853985649864867468746876587784760", NULL, 10);
    printf("i = %lld\n", i);
    return 0;
}

我想我的问题是:

  • 是httpclient.get方法与该uriString建立连接吗? 可以监控(因此,如果“ api / test”中的值发生变化,我可以 看到这些更改而没有发出另一个get请求?)
  • 如果不是这种情况,要不断监视URI的更改,是否需要一遍又一遍地调用“ getTestData”方法以查看所做的任何更改(例如在setInterval中)?我以为subscribe方法应该可以看到变化,但是到目前为止它还不能那样工作。

任何对此的澄清/帮助,将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

使用obove代码,您将只调用一次后端API,然后等待HTTP响应完成并处理订阅中的结果。可观察对象随后完成。

您有两种选择:

要么使用另一个RXJS观察器创建函数来触发对API的多次调用(例如ìnterval),要么在客户端和服务器上都实现WebSockets,这将允许从客户端“推送”数据服务器将更改发送给客户端。

间隔的示例为:

timeInterval(1000).pipe(switchMap(() => this.httpClient.get(uriString)))