2016-05-30 16 views
7
function fun(){ 
    console.log("Hi"); 
    window.location.href="http://www.google.com"; 
    console.log("Hello, how are you"); 
    alert("I am good"); 
    fun1(); 
} 

function fun1(){ 
console.log("Whats up??"); 
} 

Eğer location.href console.log önce denilen oluyor kod yukarıdaki satırları ("Merhaba, nasılsın?"), Uyarı ve FUN1 görürseniz(). Ben fun() çağırdığınızdaJavaScript location.href çağrı asenkron midir?

o location.href altındaki bütün ifadeleri çalıştırır ve sonra https://www.google.com yönlendirir.

Benim sorum şu ki, "location.href çağrı doğası gereği eşzamanlı değil, eğer burada olup bitiyorsa" "??

Kullanıcıyı başka bir sayfaya yönlendireceği anı düşündüğüm için, altındaki kod satırları hiçbir zaman çalışmaz.

Herhangi bir yardım/açıklama takdir edilir!

Teşekkür

cevap

3

tarayıcı web adresinin yanında gidene kadar window.location.href = 'http://google.com sonra kod çalıştırmaya neden bir tarayıcı. Bu şekilde, çalıştırılacak olan satırların sayısı, tarayıcı hızının veya daha sonra kullanıcı tarafından eşzamanlı girdinin bazı kombinasyonlarına bağlıdır (sizin durumunuzda bir alert).

+0

ama benim durumumda aslında google.com'a yönlendirme yapmadan önce tüm kod satırını çalıştırıyor – shreyansh

+0

Yorumunuzdan ne anlayayım? senkron veya asenkron midir? – shreyansh

+0

@shreyansh En geniş terimlerle eşzamansız, yorumum geçişten önce ne kadar tamamlanabileceğiyle ilgili .. –