动态地将var分配给json

动态地将var分配给json,json,angular,rxjs,Json,Angular,Rxjs,我在一个.ts文件中有一个变量var locations,希望它等于同一文件夹中的一个json对象。换句话说,.json文件每5秒更改一次,我需要更新变量。我认为rxjs是可以观察到的。我试过了 ngOnInit() { timer(0, 7000).pipe( switchMap( _ => this.hawkerservice.fetchNews() )).pipe( map((ret:any) => { this.locat

我在一个.ts文件中有一个变量
var locations
,希望它等于同一文件夹中的一个json对象。换句话说,.json文件每5秒更改一次,我需要更新变量。我认为rxjs是可以观察到的。我试过了

ngOnInit() {
    timer(0, 7000).pipe(
      switchMap( _ => this.hawkerservice.fetchNews()
    )).pipe(
      map((ret:any) => {
       this.locations = ret 
      })
    ).subscribe();
  }
现在,除了
.fetchNews()
pull位于具有以下功能的端口上外,它工作正常:

export class MapjsonService{
  theUrl = 'http://localhost:8000/locations.json';
  constructor(private http: HttpClient) { }

  fetchNews(): Observable<any>{
    return this.http.get(this.theUrl)
  }

}
导出类MapjsonService{
theUrl=http://localhost:8000/locations.json';
构造函数(私有http:HttpClient){}
fetchNews():可观察{
返回this.http.get(this.theUrl)
}
}
所以我的问题是,在不通过端口传递json对象的情况下,最好的方法是什么。也就是说,只是在本地获取


thx

就这么简单。您的文件只是另一个资源,它托管在
本地
服务器
上。您确实需要
http
来访问它,因为它是托管的

与您的观点相反,您不能在不使用
http
的情况下简单地运行
应用程序,即使它是本地托管的
。这同样适用于
json
文件。
您需要
http
才能访问该文件。

您的选择非常有限。您可以通过拉取(当前使用)或通过websocket从服务器上推送来通过http获取文件preferable@SandraWillford这是angular应该具备的基本功能。如果http已经在我的本地机器上,那么使用它是违反直觉的。这不是一个角度的问题,这是Javascript。您可以通过http get读取JSON文件,也可以推送它。另一个选项是使用导出的对象而不是json,但是您仍然需要在计时器上读取它。您是否尝试给出相对路径?它的行为如何?