- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
function refreshPaymentStatus() {
}
refreshPaymentStatusJob();
function refreshPaymentStatusJob() {
setInterval("refreshPaymentStatus()", 10000);
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+149
function refreshPaymentStatus() {
}
refreshPaymentStatusJob();
function refreshPaymentStatusJob() {
setInterval("refreshPaymentStatus()", 10000);
}
Бесят люди которые, будучи обмануты кажущейся простотой JS, пишут такие конструкции "по привычке". Job он, @#$%, завёл. А Scheduler, интересно, где забыл? А SchedulerManager? А SchedulerManagerFactory? Зато не забыл передать строкой первый аргумент в setInterval, молодец.
А минусы - ожидаемо - пришёл сюда негатив слить, а не позитив привнести...
Мне кажется, минусы тут из-за того, что код не очень смотрится. Или минусующим контекста не хватает, или духа энтерпрайза.
Вы в этом варитесь и испытываете эмоции, а у просматривающих эмоций не возникает.
Наверно. Оно нам еще не настолько настопизденело. А вообще, неисповедимы пути кармы.
А твой вариант без job'а неправильный, так каждое выполнение функции будет делать ещё один setInterval.
Асинхронным будет как раз таки дополнительный поток, дурья твоя бошка!
Во многих скриптовых языках нет возможности создавать доп.поток, поэтому выкручиваются с помощью таймеров.
P/S.
гоатсе постить не буду, просто перечитайте пост еще раз.
,
где funcname - имя метда, который нужно запускать в отдельном потоке, interval - таймаут, по которому основной (и кстати единственный) поток вызывает указанный метод.
Все еще хуже, чем я думал.
setTimer(), setInterval(),setTimeout() - выбирай на вкус.
Переполнение ж должно быть по идее?
Так это нихуя не показатель работы дополнительного потока... Вот таким кодом проверь: Если там действительно запускался поток - месседжбоксы показывались бы на каждый тик таймера. Но покажется он ровно 1 раз, после чего все повиснет к хуям. И тогда ты поймешь, что это самая обычная асинхронщина.
выдает несколько окошек, потом прога подвисает. Если использовать вместо showmessage api messagebox, окошки начинают наслаиваться друг на друга. Их много. Каким образом такое возможно? Я же торможу поток sleep -ом.
Внутри showmessage/messagebox вроде бы запускается еще один цикл разгребания сообщений. Видимо он выдергивает следующее событие от таймера из очереди, и исполняет его. А там запускается еще один месседжбокс, внутри которого еще один цикл обработки сообщений и т.п...
Забавно, если это количество - не константа от времени.