Angular 4中的并行HTTP请求
发布时间:2020-12-17 17:03:31 所属栏目:安全 来源:网络整理
导读:我正在构建一个简单的天气应用程序,它使用REST服务显示用户输入的任何城市中的当前天气数据. 仪表板页面应显示用户指定的~5个城市的当前天气. 所以我的问题是 – 给定一个由5个城市组成的数组,对于该数组中的每个元素,为REST服务(通过Angular服务)发出调用的
我正在构建一个简单的天气应用程序,它使用REST服务显示用户输入的任何城市中的当前天气数据.
仪表板页面应显示用户指定的~5个城市的当前天气. 所以我的问题是 – 给定一个由5个城市组成的数组,对于该数组中的每个元素,为REST服务(通过Angular服务)发出调用的最佳方法是什么. 这是我最初尝试的代码摘录: locations: string[] = ["Seattle","Woodinville","Krasnoyarsk","Stockholm","Beijing"]; ... ngOnInit() { this.locations.forEach(function(element) { this.weatherService.getWeather(element).subscribe((data) => { console.log(data); }); }); } 但这会产生错误: c:/Projects/weather-app/src/app/components/dashboard/dashboard.component.ts(19,12):’void’类型中不存在属性’weatherService’. 我意识到’forEach’在这里不起作用 – 但是在ng 4中这样做的最佳做法是什么? 谢谢. 解决方法
这将在Observables数组中映射位置数组,
当所有响应都到位时,forkJoin将发出值 Observable .forkJoin(this.locations .map((element) => this.weatherService.getWeather(element)) .subscribe((data) => console.log(data)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |