나는 HTML5 웹 데이터베이스 API를 사용하고 내가 앱이 가서을 수행 할 필요가 있는지 여부를 확인하는 기능을 가지고는 설정 단계입니다 설정 테이블에 데이터가 있는지 여부에 따라 (또는 설정 테이블이없는 경우) true 또는 false를 반환하고 싶습니다. status 변수가 설정되지 않습니다. 범위 문제 및 익명 콜백 함수 때문일 것으로 생각됩니다. 나는이 문제를 바로 잡기 위해 여기에서 클로저를 사용해야 할 것이라고 확신하지만, 제대로 할 수는 없다.HTML5 웹 데이터베이스 API를 사용하여 상태를 설정하는 방법
답변
내가 돌아 싶습니다 true 또는 설정 테이블에 데이터 또는하지
당신은 할 수없는 존재 여부에 따라 거짓. setupRequired()
메서드를 반환해야 할 때 설정 테이블에 데이터가 있는지 여부는 알 수 없습니다. 이것은 SQL 데이터베이스가 쿼리를 수행하고 콜백 함수를 호출 한 경우에만 알 수 있습니다. 이는 setupRequired()
이후에만 발생하며 호출 된 함수는 모두 종료되어 브라우저에 제어를 반환합니다.
executeSql()
에 전달되는 콜백 함수의 전체적인 부분입니다. 이 기능은 즉시 실행되지 않으므로 return status
에 도달하면 status
이 (가) 처리되지 않습니다. 더구나, try...catch
블록은 내부에서 정의 된 함수가 실제로 호출 될 때까지 블록되기 때문에 콜백 함수 내에서 발생하는 예외로 인해 catch(e)
블록이 실행되지 않습니다. 따라서이 try...catch
은 실제로 쓸모가 없습니다.
이것은 '비동기식'코딩입니다. 일부 코드가 함수 아래에 있기 때문에 함수가 먼저 실행된다는 의미는 아닙니다.
흠,이 API를 사용해 본 경험이 없지만 콜백 함수에서 값을 설정하고 외부 함수에서 해당 값을 반환하는 것으로 보입니다. 콜백이 비동기라고 가정하면이 작업은 작동하지 않습니다. 나는 당신의 가장 좋은 건처럼 뭔가 코드를 변경하는 것입니다 생각 :
this.setupRequired = function() {
try {
this.db.transaction(function(tx) {
tx.executeSql("SELECT * FROM settings", [], function (tx,result) {
if (result.rows.length == 0) {
doYourSetupFunction();
} else {
//don't;
}
}, function(tx) {
doYourSetupFunction();
})
});
} catch (e) {
doYourSetupFunction();
}
}
그래서 setupRequired 기능을 확인하고 설정을 트리거에 대한 책임을지고있는 것을.
상태를 개체 또는 자신이 만든 다른 개체의 속성으로 설정할 수 있습니다.
각 단계에서 'this'가 무엇인지 또는 상태가 방화범을 사용하여 어떤 값인지 확인할 수 있습니다.
- 1. 데이터베이스 교착 상태를 방지하는 방법
- 2. HTML5 API를 사용하여 백그라운드 Android 프로세스 만들기
- 3. 웹 서비스의 상태를 얻는 방법
- 4. xml을 사용하여 이미지 버튼의 선택된 상태를 설정하는 방법
- 5. Silverlight의 비동기 메서드에서 사용자 상태를 설정하는 방법
- 6. Motorola MC55에서 "주황색 버튼"상태를 설정하는 방법
- 7. jquery hoverIntent의 초기 상태를 설정하는 방법
- 8. jQuery로 호버 상태를 강제 설정하는 방법?
- 9. GWT 클라이언트 측 HTML5 데이터베이스 저장소 (웹 SQL 데이터베이스)
- 10. jexcel api를 사용하여 숫자 형식을 셀에 설정하는 방법
- 11. Makumba - API를 사용하여 포인터 값에 null을 설정하는 방법
- 12. 그래프 API를 사용하여 이벤트에 대한 장소를 설정하는 방법
- 13. IE9는 HTML5 File API를 지원합니까?
- 14. 기존 sqlite 데이터베이스 열기 - HTML5
- 15. gigya php sdk를 사용하여 상태를 설정하는 중 문제가 발생했습니다.
- 16. application.ini에서 데이터베이스 시간대를 설정하는 방법
- 17. 좋은 (웹) API를 작성하는 방법
- 18. HTML5 파일 API를 사용하여 PHP 서버에서 .xls 파일 업로드
- 19. HTML5 데이터베이스 관리/내성?
- 20. 킥 스타트 HTML5 데이터베이스
- 21. 레일스 HTML5 오프라인 데이터베이스
- 22. HTML5 SQLite 데이터베이스 위치
- 23. 공기를 사용하여 사용자 로그인 상태를 저장하는 방법?
- 24. html5 stream-api를 사용하는 구체적인 예
- 25. Python 웹 응용 프로그램 : 상태를 유지하는 방법
- 26. Google API를 사용하여 위도/경도가 주어진 상태를 결정합니다.
- 27. AS3 API를 사용하여 Facebook 계정에 연결하고 상태를 업데이트하려면 어떻게해야합니까?
- 28. 트위터 스트리밍 API를 사용하여 URL을 추적하는 방법
- 29. 여러 유사한 특성을 사용하여 데이터베이스 테이블을 설정하는 방법
- 30. 웹 서버에서 javaws 시작 상태를 얻는 방법
그 말이 완벽합니다. 감사합니다. – rjlee