Witam!
Dzisiaj z ulgą nauczyłem się o alternatywie dla callbacków - Promise, ale od razu mam problem.
Z tego co rozumiem to kod w then nie powinien się wykonywać dopóki nie wykona się funkcja resolve albo reject. Mój kod chyba tego nie rozumie:
geolocationPromise = new Promise(function(resolve, reject) {
if ("geolocation" in navigator) {
navigator.geolocation.getCurrentPosition(function(position) {
console.log("Geolokalizacja");
resolve();
});
} else {
;// TODO
}
});
geolocationPromise
.then(console.log("Skrypt po geolokalizacji"));
Oczekiwałem:
Geolokalizacja
Skrypt po geolokalizacji
a dostaje:
Skrypt po geolokalizacji
Geolokalizacja
Kod w then wykonuje się nawet gdy nie ma polecenia resolve, tak jakby operacja Promise od początku była zakończona sukcesem, czego też nie rozumiem.
Byłbym wdzięczny za pomoc albo jakieś naprowadzenie