如果我的数据库本地存储中存在“用户名”(示例),我正在phonegap中构建应用并尝试验证我的状况,但我没有成功。
if(getUser(document.getElementById('username').value)){
...
} else{
...//always keeping going here
}
function getUser(username) {
db.transaction(function(tx) {
try {
tx.executeSql('SELECT id FROM user where username = ?', [username], function(tx, results) {
if(results.rows.length > 0) {
return true);
} else { return false; }
});
} catch(e){}
});
}
答案 0 :(得分:2)
不要忘记:executeSql是一个异步请求。 意味着您的函数getUser在从查询中获得结果之前结束。 并且您没有返回值,因此您的函数返回false
<script>
function test() {}
if (test())
console.log('true');
else
console.log('false')
</script>