次のJavaScriptコードで問題が発生しています。
var returnValue = false;
function hasItem(id) {
//I want this entire function to run first
db.transaction(function(tx) {
tx.executeSql("SELECT * FROM library WHERE id == "+id,[],function(tx, results) {
returnvalue = results.rows.length>0;
},errorCB);
},errorCB,successCB);
//then this
return returnvalue;
}
しかし、sql-functionは別のスレッドで実行されているように見えるため、関数は常にfalseを返します。「強制的に待機する」方法はありますか。