html5 및 javascript.I을 사용하여 모바일 웹 응용 프로그램을 만드는 중 두 개의 javascript 파일이 있습니다. AttributesDatabase.js 및 AttributeView.js.From AttributeView.js에서 하나의 select 쿼리를 실행하는 해당 AttributeDatabase.js에서 하나의 함수를 호출합니다. 이제 쿼리 결과는 AtttributeView.j로 이동해야합니다. 그러나 Websql 트랜잭션은 비동기 호출입니다. 적절한 결과를 반환하지 않습니다. 거기에 websql 결과를 처리 할 수있는 방법이 있습니다. 어쨌든 도와주세요. 이 반환HTML5에서 websql의 결과 집합을 처리하려면 어떻게해야합니까?
function (transaction, result) { return result; }
당신 succes에이 (DCoder에 의해 명시된 귀하의 질문에 코멘트에서처럼) 다시 전화에
편집
AttributeView.js
var AttributeDAOObj = new AttributeDAO();
AttributeDAOObj.GetAttributeList();
alert(AttributeDAOObj.GetAttributeList()); //This alert is coming as undefined.
AttributeDAO.js
this.GetAttributeList = function() {
var baseDAOObj = new BaseDAO();
var query = "SELECT AttributeName FROM LOGS";
// this.Successcalbackfromsrc = this.myInstance.Successcalback;
var parm = { 'query': query, 'Successcalback': this.myInstance.Successcalback };
baseDAOObj.executeSql(parm);
}
//To Create database and execute sql queries.
function BaseDAO() {
this.myInstance = this;
//Creating database
this.GetMobileWebDB = function() {
if (dbName == null) {
var dbName = 'ABC';
}
var objMobileWebDB = window.openDatabase(dbName, "1.0", dbName, 5 * 1024 * 1024);
return objMobileWebDB;
}
//Executing queries and getting result
this.executeSql = function (query) {
var objMobileWebDB = this.myInstance.GetMobileWebDB();
objMobileWebDB.transaction(function (transaction) {
//In this transaction i m returning the result.The result value is coming.
transaction.executeSql(query, [], function (transaction, result) { return result; }, this.Errorclback);
});
}
}
코드를 게시 한 경우 질문에 쉽게 대답 할 수 있습니다. – jugg1es
비동기 작업에서 결과를 반환하지 않으면 결과가 도착하면 콜백을 호출합니다. – DCoder