경고 (result_set)는 처음으로 null을 표시하지만이 funcition이 두 번째로 호출되면 적절한 값을 표시합니다. 이 기능을 실행하는 간단한 버튼이 있습니다. 전역 변수 lesson_no가 처음 제대로 설정되었지만 result_set이 처음 설정되지 않았습니다.값이 변수에 처음으로 할당되지 않습니다.
result_set=null;
//load database for the lesson
function loadLesson(lessonno){
$(".audio-pause").hide();
stopAudio();
clearMarker();
lesson_no = lessonno;
$("#lessonno").html("Lesson "+lesson_no);
$("#lessonImage").attr("src","lessons/Lesson_"+lesson_no+".png");
$('.audio-position').html("");
var sql = "select Lesson,x1,y1,x2,y2,starttime from lessoninfo where Lesson="+lesson_no;
db.transaction (function (transaction){
transaction.executeSql (sql, undefined, function (transaction, result){ //alert(result.rows.length);
result_set = result;
});
});alert(result_set)
setImageVariables();
markerCount=0;
$(".audio-play").show();
}
'db.transaction'은 비동기식이라고 생각합니다. 콜백이 실행될 때까지 변수를 업데이트하지 않는 것이 정상입니다. –
이 함수를 두 번째로 마우스 클릭을 사용하여 호출 할 때 t가 제대로 작동 함 – user2780638