Как установить переменную, используя geolocation.getCurrentPosition - PullRequest
0 голосов
/ 05 марта 2020

Это относится к этой записи , но отличается тем, что я пытаюсь понять, почему я не могу установить внешнюю переменную изнутри geolocation.getCurrentPosition

Мне кажется, что я не могу получить любой вид возвращаемого значения из него, и я не могу установить значение из него. Я могу получить доступ только к объекту позиции изнутри. Я попытался передать this.

Я разветвлял скрипку Дерека-朕 功夫 и изменил ее: https://jsfiddle.net/TwoFistedJustice/c3qr29L7/1/

Вот еще одна скрипка, основанная на этот пост :

https://jsfiddle.net/TwoFistedJustice/yu8Lzjvx/4/

Я очень озадачен.

Может кто-нибудь помочь мне, пожалуйста:

  1. Поймите, что происходит за кулисами, чтобы заставить его так себя вести.
  2. Поймите, как установить переменную во внешней области видимости изнутри getCurrentPosition ().

1 Ответ

0 голосов
/ 07 марта 2020

Я читал о стеке вызовов и очереди обратных вызовов. И я понимаю, что поведение, которое меня озадачивало, связано с тем, как Javascript обрабатывает различные стеки и очереди. Эта пьеса Джейка Арчибальда помогает прояснить ситуацию, хотя она немного поглощает все сразу.

Если я добавлю setTimeout с любым значением задержки, даже 0, foo ОБЫЧНО изменилось. При значениях, близких к нулю, оно немного меняется.

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

, 0);

Это скрипка, полученная из других, которая более четко показывает, что происходит. https://jsfiddle.net/TwoFistedJustice/arkqb0x8/71/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...