2011-10-28 6 views
0

저는 현재 작업하고있는 프로젝트의 로컬 캐싱을 알아 내려고 노력하고 있습니다. 설정을 완료하고 데이터베이스를 채우고 대부분의 작업을 수행하는 동안 내 자바 스크립트는 나 한테 놀랄거야.자바 스크립트의 기능에 문제가 있습니다.

나는 무엇을 의미하는지 보여주기 위해 jsfiddle (http://jsfiddle.net/hW6RX/9/)을 만들었습니다. 정보 가져 오기 ...를 클릭하면 경고가 팝업 된 다음 테이블의 DB에서 기본값이 채워지고 두 번째 경고가 표시되고 지워진 후 몇 가지 변경 사항을 수행하여 새 db 값을 추가해야합니다. 테이블 (10 개의 아이템이 모두 끝에 있어야하며 bar와 cantbelieve는 한 번만 표시되고 foo는 두 번째로 바뀌기 ...).

대신에 두 팝업이 모두 나타나서 첫 번째 printValues ​​() 만 수행합니다. 함수와 경고의 위치는 결과에 영향을 미치지 않는 것처럼 보입니다. (모든 함수가 try 내부에 있었고, 모두 바깥에 있었고, 나뉘 었습니다 ... 경고를 옮겼습니다 ... w/e) 내가 뭔가를 놓치고 있다고 생각하거나 어떤 종류의 타이밍 문제가 있습니다. 누구든지 도와 줄 수 있습니까?

+0

그냥 참고로, 두 번째 트랜잭션은 try/catch 바깥에 있지만 아마도 그렇게해서는 안됩니다. 그리고 DB 기능이 없으면'js_GetDBInfo'에서 리턴합니다. 그렇지 않으면 불필요한 중첩이됩니다. –

+0

죄송합니다. 외부 거래는 "IF NOT EXISTS"가 테이블 만들기에 추가되기 전에 추가 된 항목이었습니다 (트랜잭션을 종료하고 그 이후에 어떤 코드도 preform하지 않음). 모든 항목을 추가로 실행하면 처음부터 모든 항목이 작동하도록 설정 했으므로 더 이상 중요하지 않습니다. 그러나 코드는 내가 기대했던 것처럼 여전히 프리폼을 만들지 못한다. – Twomz

+0

'clearCache' 호출을 제거하면 작동합니다; 당신이 당신이 생각하는 것을하고 있는지 확신합니까? –

답변

0

고정되어있어 http://jsfiddle.net/hW6RX/14/이 의도 한대로 작동합니다 (사용자가 프로세스의 각 부분을 클릭하지 않아도되지만 나중에 추측 할 수 있음).

당신이 초기화를 클릭하면이 첫 번째 부분을 인쇄합니다 다음 클릭 테스트는 다음 부분을 출력한다 (당신이 초기화 할 때이 모든 것을 지우거나 언제든지 맑은 링크를 지울 수 있습니다)

관련 문제