如何使用geolocation.getCurrentPosition设置变量

如何使用geolocation.getCurrentPosition设置变量,geolocation,javascript-scope,Geolocation,Javascript Scope,这与geolocation.getCurrentPosition相关,但不同之处在于我试图理解为什么不能从geolocation.getCurrentPosition内部设置外部变量 我似乎无法从中获得任何类型的返回值,也无法从中设置值。我只能从内部访问position对象。我已经试着把这个传进来了 我用叉子叉了德里克-朕會功夫's fiddle并修改它: 这是另一把小提琴,基于: 我很困惑 有人能帮我吗 了解幕后发生了什么,让它表现出来 这边走 了解如何从内部在外部范围内设置变量 getC

这与geolocation.getCurrentPosition相关,但不同之处在于我试图理解为什么不能从geolocation.getCurrentPosition内部设置外部变量

我似乎无法从中获得任何类型的返回值,也无法从中设置值。我只能从内部访问position对象。我已经试着把这个传进来了

我用叉子叉了德里克-朕會功夫's fiddle并修改它:

这是另一把小提琴,基于:

我很困惑

有人能帮我吗

  • 了解幕后发生了什么,让它表现出来 这边走
  • 了解如何从内部在外部范围内设置变量 getCurrentPosition()

  • 我一直在阅读调用堆栈和回调队列。我推测,一直困扰我的行为与Javascript如何处理各种堆栈和队列有关。有助于清理,尽管一次吸收会有点多

    如果我添加一个带有任何延迟值的setTimeout,即使是0,foo通常也会改变。在接近零值的情况下,它会略有变化

    setTimeout(function(){
    console.log('SetTimeout\n -  Foo only changes if this goes AFTER the Promise\n foo:', foo)}
    
    ,0)

    这是一把从其他小提琴中衍生出来的小提琴,它更清楚地显示了正在发生的事情