작업중인 데이터베이스 응용 프로그램에 문제가 있습니다. 내 SQL 트랜잭션이 완료되기 전에 내 자바 스크립트 함수가 계속 진행되는 것 같습니다. 아래는 내가 경험하고있는 매우 단순화 된 버전입니다. 실제 함수에서 for 루프의 다음 값으로 이동하기 전에 테이블에 대한 작업을 시도하고 있습니다. for 루프에서 모든 것을 수행 한 다음 SQL 트랜잭션을 완료하는 것으로 보입니다.SQL 트랜잭션 완료 전에 루프 진행
function fillTables(){
db.transaction(function (tx){
for(var i=0; i<3; i++){
console.log('Filling row '+i);
tx.executeSql(
'INSERT INTO Numbers (Value) VALUES (?)',
[i],
function(){
console.log('Inserted Row');
},
errorCB);
console.log('moving on...');
}
});
}
내가 볼 기대 콘솔 로그가 될 것입니다 : 여기
샘플 코드입니다 그러나Filling Row 0
Inserted Row
moving on...
Filling Row 1
Inserted Row
moving on...
Filling Row 2
Inserted Row
moving on...
, 나는 점점 오전 :
Filling row 0
moving on...
Filling row 1
moving on...
Filling row 2
moving on...
Inserted Row
Inserted Row
Inserted Row
하나를 내가 원하는 결과를 얻을 수있는 방법에 대한 아이디어?
아래 답변 중 하나라도 귀하의 질문에 대한 해결책을 제시 한 경우, 답변 옆에있는 체크 표시를 클릭하여 답변을 수락하십시오. 이것은 미래의 사용자가 같은 질문에 대한 답을 찾는 데 도움이 될 것입니다. 고맙습니다. – SnareChops