Javascript Web SQL事务返回空
当我使用success回调直接写入DOM时,这就起作用了。但我想把数据从显示中分离出来,只是一个返回和数组。我尝试过的所有方法都返回空数组。有什么想法吗?我需要使用某种闭包吗Javascript Web SQL事务返回空,javascript,sql,database,html,closures,Javascript,Sql,Database,Html,Closures,当我使用success回调直接写入DOM时,这就起作用了。但我想把数据从显示中分离出来,只是一个返回和数组。我尝试过的所有方法都返回空数组。有什么想法吗?我需要使用某种闭包吗 function getExercises(){ var result = [] db.transaction(function(tx) { tx.executeSql('SELECT id, title, weight, reps FROM exercises', [],func
function getExercises(){
var result = []
db.transaction(function(tx) {
tx.executeSql('SELECT id, title, weight, reps FROM exercises', [],function(tx, rs) {
for(var i=0; i<rs.rows.length; i++) {
var row = rs.rows.item(i)
result[i] = {
id: row['id'],
title: row['title'],
weight: row['weight'],
reps: row['reps']
}
}
})
})
return result;
};
函数getExercises(){
var结果=[]
数据库事务(功能(tx){
tx.executeSql('SELECT id,title,weight,reps FROM exercises',[],函数(tx,rs){
对于(var i=0;i事务是异步执行的,因此您需要对成功回调的结果进行处理。例如:
..
tx.executeSql('SELECT id, title, weight, reps FROM exercises', [],function(tx, rs) {
var result = [];
for(var i=0; i<rs.rows.length; i++) {
var row = rs.rows.item(i)
result[i] = {
id: row['id'],
title: row['title'],
weight: row['weight'],
reps: row['reps']
}
}
console.log(result);
});
..
。。
tx.executeSql('SELECT id,title,weight,reps FROM exercises',[],函数(tx,rs){
var结果=[];
对于(var i=0;i