【问题标题】:GeoLocation inside a promise承诺中的地理位置
【发布时间】:2018-11-07 19:10:15
【问题描述】:

我想将 navigator.geolocation.getCurrentPosition() 方法放在一个 Promise 中,然后在一个异步函数中等待它。这是正确的方法吗?

const getGeoLocation = () => new Promise((resolve, reject) => {
  function positionSuccess(position) {
    resolve(position);
  }
  function error() {
    reject();
  }
  navigator.geolocation.getCurrentPosition(positionSuccess, error, { enableHighAccuracy: true });
});

export default getGeoLocation;

【问题讨论】:

  • 看起来不错,但是既然您没有对结果进行任何额外的处理,为什么不直接将resolvereject 传递给getCurrentPosition 调用呢?例如:getCurrentPosition(resolve, reject, { enableHighAccuracy: true }).

标签: javascript geolocation async-await es6-promise


【解决方案1】:
var getPosition = function (options) {
  return new Promise(function (resolve, reject) {
    navigator.geolocation.getCurrentPosition(resolve, reject, options);
  });
}

getPosition()
  .then((position) => {
    console.log(position);
  })
  .catch((err) => {
    console.error(err.message);
  });

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2018-11-21
    • 2020-06-13
    • 1970-01-01
    • 2018-06-23
    相关资源
    最近更新 更多