Javascript 编写地理定位API,作为角度测量的承诺或可观测
我正在使用Angular 6,需要获得承诺中的位置数据。Javascript 编写地理定位API,作为角度测量的承诺或可观测,javascript,angular,callback,promise,observable,Javascript,Angular,Callback,Promise,Observable,我正在使用Angular 6,需要获得承诺中的位置数据。geolocationapi有一个针对success和error的回调navigator.geolocation.getCurrentPosition(successCallback,errorCallback) 如何为使用成功和错误回调的Angular编写承诺或可观察的?您可以创建一个异步typescript函数来返回一个新承诺 async getLocation() { return new Promise((resolve, r
geolocationapi
有一个针对success和error的回调navigator.geolocation.getCurrentPosition(successCallback,errorCallback)代码>
如何为使用成功和错误回调的Angular编写承诺或可观察的?您可以创建一个异步typescript函数来返回一个新承诺
async getLocation() {
return new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(resolve, reject);
});
}
const pos = this.getLocation();
pos.then(res => {
console.log(res);
})
.catch(err => {
console.log(err);
});
我不知道是否有更好的方法,但这似乎有效。从可观察的角度来看
getLocation(): Observable<any> {
return new Observable(obs => {
navigator.geolocation.getCurrentPosition(
success => {
obs.next(success);
obs.complete();
},
error => {
obs.error(error);
}
);
});
}
getLocation():可观察{
返回新的可观测值(obs=>{
navigator.geolocation.getCurrentPosition(
成功=>{
obs.next(成功);
obs.complete();
},
错误=>{
观测误差(error);
}
);
});
}
异步getLocation
不需要异步
getLocation(): Observable<any> {
return new Observable(obs => {
navigator.geolocation.getCurrentPosition(
success => {
obs.next(success);
obs.complete();
},
error => {
obs.error(error);
}
);
});
}