gpt4 book ai didi

Javascript Angular 阻塞?

转载 作者:行者123 更新时间:2023-12-01 00:11:57 29 4
gpt4 key购买 nike

我有一个 Angular 函数,它在初始 URL 中查找“列表”参数,如果找到,就会出去获取信息。否则我想获得地理位置。如果存在 URL 参数,我不想获取地理位置。我使用的术语是否正确?

constructor(private router: Router, private activatedRoute: ActivatedRoute, private providerService: ProviderService) { }

ngOnInit(): void {
this.processURL();
this.processGPS();
}

private processURL() {
console.log('1a');

this.activatedRoute.queryParams.forEach(item => {
if (item['list']) {
console.log('1b');
this.providerService.setCurrentProvider(item['list']);
}
});
}

private processGPS() {
console.log('2a');
window.navigator.geolocation.getCurrentPosition(position => {
this.providerService.findByGeo(position.coords).subscribe(providers => {
if (providers.length > 0) {
console.log('2b');
this.providerService.setCurrentProvider(providers[0]);
}
},
() => {
console.log('GeoLocation Not available or disabled');
}).unsubscribe();
});
}

最佳答案

queryParams 是一个 Observable,而不是一个数组,因此您应该订阅它。

我做了什么:

  • 订阅this.activatedRoute.queryParams
  • 检查参数上是否存在列表属性
    • 如果确实存在,请调用某些服务
    • 如果不存在,则使用 GPS

ngOnInit(){
this.activatedRoute.queryParams.subscribe( params => {
if( typeof params.list !== 'undefined')
this.providerService.setCurrentProvider( params.list );
else
this.processGPS();
});
}

关于Javascript Angular 阻塞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60021650/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com