JavaScript'te bir işlevi yazmalıyım, bu durum eşzamansız bir işlevi çağırmak için durumu döndürür. Ancak, arayan sadece değeri alır ve geri arama fonksiyonu sağlanamaz. ...JavaScript'te eşzamansız işlevler nasıl engellenir
Herhangi fikirleri Ancak
function getState() {
var ret = null;
asyncCall("request",
function() { ret = "foo"; } // callback
);
while (ret === null)
; // block on the asynchronous call
return ret;
}
, döngü asla sona ermeyecek: Ben böyle bir şey denediniz mi? Teşekkür ederim.
Senkronize olmayan çağrıyı neden ilk sırada engellemek istiyorsunuz? Bunu yapmak hiç mantıklı değil. – Tomalak
@Tomolak: Firefox tarafından sağlanan bir çağrı olduğu için değiştiremiyorum. En çok milisaniye alması bekleniyor, bunun için tüm diğer kodlarımı sadece tekrar etmek istemiyorum. –
'getState()' çağıran işlevi yayınlayabilir misiniz? – Tomalak