var processResult = function(items)
{
return items;
};
function queryDB(callback) {
var sqlTxt = "SELECT * FROM DEMO";
db.transaction(
function(tx) {
tx.executeSql(sqlTxt, [],
function(tx, results) {
var item_Codes = [];
for (var i = 0; i < results.rows.length; i++) {
item_Codes.push({item_code: results.rows.item(i).itemCode});
}
callback(item_Codes);
})
, errorCB;
});
return false;
}
Main.js
queryDB(processResult, function(arr) {
$.each(arr, function(i, elem) {
});
});
在上面的代码中,item_Codes是array.Here我需要在加载数据后打印数组。但是当我尝试打印数组时,它显示为null。在将数据加载到阵列后,如何打印阵列。
答案 0 :(得分:1)
调用后不使用变量,使用调用中发送的回调函数中的参数:
queryDB(function(arr){
console.log(arr);
});
答案 1 :(得分:0)
你为什么不试试:
function queryDB(callback) {
var sqlTxt = "SELECT * FROM DEMO";
db.transaction(
function(tx) {
tx.executeSql(sqlTxt, [],
function(tx, results) {
var item_Codes = [];
for (var i = 0; i < results.rows.length; i++) {
item_Codes.push({item_code: results.rows.item(i).itemCode});
}
callback(item_Codes);
})
, errorCB;
});
console.log(item_codes);
return false;
}
也就是说,我只是试图在代码执行后打印出数组的值。