Показать сообщение отдельно
  #8 (permalink)  
Старый 22.12.2014, 16:50
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

Rise,
Во первых, ты съезжаешь с темы. Это был конкртный ответ на конкретную реплику.

Во вторых, по поводу "правильного поведения", это еще вопрос. В 8, например, я при разработке всегда исхожу, что алерт блокирующий, картинка складывается простая. а в ФФ я щас поэксперементировал, и выяснил, что не совсем логично, все таки получается. Например

setTimeout(function(){console.log("foo")})
console.log("bar")
//  bar
//  foo

Тут, несмотря на то, что задержка не выставлена, колбэк все равно бросается в очередь. А в фф, получается такая фигня. Если задержка ответа от сервера минимальна, (какая то задержка все равно есть, правильно), аджакс на какое-то время блочит поток, все таки, даже несмотря на асинхронность оного. То есть, выходит, мы делаем асинхронный запрос, а он на какое то время блочит поток, пытаясь выполнится синхронно. А по истечению какого то времени, бросает коллбек в очередь. И вот если он бросил, последующий алерт его не блочит. А если наоборот, отработал первым алерт из аякса, поток будет заблокирован, и следующий алерт не отработает, пока не уберешь первый. Такие дела...
В итоге, мы вообще не знаем, какой операцией является alert в общем случае. Она ведет себя по разному, в одном случае блокирует поток, в другом -- нет. Сколько таких случаев в разных вариациях может быть -- хз. Делаем вывод: поведение алерта вообще не предсказуемо.

Это все похоже на костыли, и это только усложняет написание кода. Лучше бы этого не было ни хуя. Бесит.

Последний раз редактировалось krutoy, 22.12.2014 в 16:56.
Ответить с цитированием