Javascript角块?
我有一个角度函数,它在初始URL中查找一个“list”参数,如果找到,它将出去获取信息。否则我想得到地理位置。如果URL参数存在,我不想获取地理位置。我是否使用了正确的术语Javascript角块?,javascript,angular,blocking,Javascript,Angular,Blocking,我有一个角度函数,它在初始URL中查找一个“list”参数,如果找到,它将出去获取信息。否则我想得到地理位置。如果URL参数存在,我不想获取地理位置。我是否使用了正确的术语 constructor(private router: Router, private activatedRoute: ActivatedRoute, private providerService: ProviderService) { } ngOnInit(): void { this.processURL
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();
});
}
未找到列表参数时,将processGPS移动到else:
ngOnInit(): void {
this.processURL();
}
private processURL() {
console.log('1a');
this.activatedRoute.queryParams.subscribe(item => {
if (item['list']) {
console.log('1b');
this.providerService.setCurrentProvider(item['list']);
} else {
this.processGPS();
}
});
}
未找到列表参数时,将processGPS移动到else:
ngOnInit(): void {
this.processURL();
}
private processURL() {
console.log('1a');
this.activatedRoute.queryParams.subscribe(item => {
if (item['list']) {
console.log('1b');
this.providerService.setCurrentProvider(item['list']);
} else {
this.processGPS();
}
});
}
queryParams
是可观察的,不是数组,所以您应该订阅它
我所做的:
- 订阅
this.activatedRoute.queryParams
- 检查参数上是否存在list属性
- 如果它确实存在,请调用一些服务
- 否则,如果不存在,请使用GPS
ngOnInit(){
this.activatedRoute.queryParams.subscribe(参数=>{
如果(参数列表的类型!==“未定义”)
this.providerService.setCurrentProvider(params.list);
其他的
这个.processGPS();
});
}
queryParams
是可观察的,而不是数组,因此您应该订阅它
我所做的:
- 订阅
this.activatedRoute.queryParams
- 检查参数上是否存在list属性
- 如果它确实存在,请调用一些服务
- 否则,如果不存在,请使用GPS
ngOnInit(){
this.activatedRoute.queryParams.subscribe(参数=>{
如果(参数列表的类型!==“未定义”)
this.providerService.setCurrentProvider(params.list);
其他的
这个.processGPS();
});
}