0
我创建移动web应用程序使用html5和javascript.I m有两个JavaScript文件。 AttributesDatabase.js和AttributeView.js.From AttributeView.js即时调用一个函数从AttributeDatabase.js执行一个选择查询。现在查询结果应该去AtttributeView.js.But Websql事务是异步调用,这就是它没有返回正确的结果。有什么办法来处理websql的结果。 如果有任何方法,请帮忙吗?如何在html 5中处理websql的结果集?
编辑
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 2013-03-27 17:24:11
您不返回异步操作的结果,您在结果到达时调用回调。 – DCoder 2013-03-27 19:26:15