我有一种情况,我想在Angular 4中使用服务获取设备地理位置。
export class GeoHttpService implements HttpInterceptor {
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
let position: object;
navigator.geolocation.getCurrentPosition(
(position) => {
position = position;
console.log("position :", position) // here i get the data.
},
(err) => {
console.log("error : ", err);
}
);
// here i need to return an Observable with the position taken from the callback function
// if I do console.log(position) it will not give me the position data so I can't modify
// the request.
return next.handle(req);
}
哪一个是获取位置数据和修改实际请求的最佳实践方法?现在回调函数阻止我这样做。
谢谢。
这里的主要方法是: