2016-04-14 23 views
-2

Bir düğme tıklatmayla google map JS'yi yüklemeye çalışıyorum (Optimizasyon için bir Head'e dahil etmek yerine).Yürütme sırasını sağlama: javascript

 $.when(
      $.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places") 
       .done(function() { 
       console.log('loaded'); 
       }) 
     ) 
     .then(_getCurrentLocation()) 
     .then(_lookForLatLang()) 

getCurrentLocation tarayıcı yapıldığını ters aramasında tabanını destekleyen bir konum belirleme nesne başka bir şey değildir.

Javascript dosyalarının yürütme sırasını kesinlikle uygulamak istiyorum, ancak ideal olarak gerçekleşmiyor. GetCurrentLocation FIRST & çıktısını ve ardından getScript günlüğünü görebilirim.

Komut dosyasındaki sorun nedir?

+0

'getScript' bir söz verir. "$ .when" 'e ihtiyacınız yok. – SLaks

+0

Konsolunuzu hatalar için kontrol edin (F12'ye basın). Eminim neden çalışmadığını açıklamaya yardımcı olacak bazı şeyler göreceksiniz. –

cevap

2

arama kullan:

$.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places") 
 
    .done(function() { 
 
     console.log('loaded'); 
 
    }, function() { 
 
     (_getCurrentLocation()); 
 
     (_lookForLatLang()); 
 
    });

+0

Fonksiyonunuzun etrafındaki ekstra parşömenler neden çağırıyor? '(_getCurrentLocation())' sadece '_getCurrentLocation()' olabilir. – jfriend00

3
.then(_getCurrentLocation()) 

sadece hemen_getCurrentLocation aradı ve (tıpkı diğer fonksiyon çağrısı gibi) then() döndü değeri geçti.

İşlevin kendisini geçmek istersiniz.

+0

Neden sadece yanlış kodu vurgulamak yerine doğru kodu göstermiyorsunuz? – jfriend00

+0

@ jfriend00: İnsanları anlamak için öğretmek istiyorum, StackOverflow cevaplarından kod kopyalamamak istiyorum. – SLaks

+0

Üzgünüz, ama ben satın almıyorum. Doğru kodu gösteren diğer cevapların daha iyi cevaplar olduğunu düşünüyorum. OP'nin umarız anlayacağı şekilde bu problemi açıklayan metin de, daha doğru bir cevabı verir, ancak doğru çözümü gösterme pahasına değil. – jfriend00

1

$.getScript("https://maps.googleapis.com/maps/api/js?v=3.17&libraries=places") 
 
    .done(function() { 
 
    console.log('loaded'); 
 
    _getCurrentLocation(); 
 
    _lookForLatLang(); 
 
    });

İlgili konular