我正在创建一个应用程序,它在启动时从数据库中获取数据,因为我想创建一个 js,它将执行数据库事务并返回数组元素,通过它我将创建文本框和按钮等。知道问题是当我像elementArray=fetchdata();这样调用 onload 上的函数时 然后js中的db.transaction将从数据库中获取数据并返回和数组但是当我在js中调用函数时它调用函数并开始执行但不等待db.transaction完成并开始进一步执行。我想等到 db.transaction 完成它的操作,然后再执行进一步的操作。这是我创建的用于从数据库中获取数据的 dynamic_form.js 文件:
var elementArray=new Array();
function fetchdata(){
db.transaction(function(tx){
tx.executeSql("Select * from contactTable",[],function(tx,results){
for(var i=0;i<results.rows.length;i++){
var element=new Object();
element.Name=results.rows.item(i).name;
element.Lastname=results.rows.item(i).last_name;
element.Mobile=resulst.rows.item(i).mobile_no;
// ****and so on***//
elementArray[i]=element;
}
return elementArray;
});
});}
这是加载js文件的html文件中的代码:
function dbTranscation()
{
console.log("$ function");
var elementArray=fetchdata();
// after this it sould call this function
createfield();
}