2013-11-20 2 views
0

내 테이블 행을 모두 반복하고 일부 유효성 검사를 수행하려면 아래 코드를 따르십시오. 나는 20 ~ 30 행에 대해 루프를 수행 할 때 그때 브라우저가 중단 루프 100+ 기록을 할 경우jQuery. 브라우저가 멈추는 원인이됩니다.

$("#table > tr").each(function(idx, el) { 

// my calculations goes here, it will take 500 ms for each record   

}); 

이는 잘 작동한다.

이 논리에서는 setTimeout을 사용할 수 없으므로 여기에서 어떤 도움을받을 수 있습니까? 미리 감사드립니다 !!

$("#table > tr").each(function(idx, el) { 

    setTimeout(function() { validation(idx,el) }, 0); 

}); 

을하지만 난 당신이 확인 기능 내부의 잘못된 방법으로 일을하고 확신 : 물론

+0

계산을 보는 것이 도움이됩니다. 500ms는 많은 시간입니다. –

+0

유효성 확인 코드를 표시하십시오. –

+0

500ms * 100 rows = 50 sec. 내가 가장 최근의 브라우저를 오해하지 않는다면, JS가 30 초 동안 중단없이 실행될 수 있으며, 사용자 확인이 필요합니다. 따라서 시간을 절약하기 위해 유효성 검사를 최적화하는 것이 좋습니다. – J0HN

답변

0

당신은 setTimeout를 추가 할 수 있습니다. 500 밀리 초의 동기식 코드는 웹 개발에서 너무 많이 사용됩니다. 특히 30 초 작업이 필요합니다. 비동기 적으로 또는보다 최적화 된 작업을 수행 할 수 있다고 확신합니다.

+0

답장을 보내 주셔서 감사합니다.하지만 seTimeout이 유효성 검사 논리를 완료 할 때까지 .each() 실행을 중지하고 있습니까? – Nagesh

관련 문제