我正在尝试将结果从SQLite SELECT
传递给var res并显示它但在警报中我得到“未定义”。如何正确归还?
function read(key){
app.db.transaction(function(tx) {
tx.executeSql('SELECT value FROM MyTable WHERE key = ?',
[key],
function(tx, results)
{
return results.rows.item(0)['value']
},
app.onError
);
return;
});
return;
}
res=read("pipi")
alert(res);
答案 0 :(得分:1)
您无法从异步函数返回值。您需要传递一个将使用异步函数的结果执行的函数,或者使用全局变量来保存结果。
res=read("pipi") // will always return undefined
你可以声明一个全局变量和一个全局函数。
resultSelect = "";
function alertResultSelect(result){
alert(result);
}
然后在您的function(tx, results)
代码中添加
function(tx, results)
{
//Assign the results to the global variable.
resultSelect = results.rows.item(0)['value'];
// OR call the global function
alertResultSelect(results.rows.item(0)['value']);
}