![](/img/trans.png)
[英]Incorrect count value returned by the count function from the HTML browser database
[英]value is not returned from database
我試圖從這樣的數據庫中獲取一個值
var batsmanId = getBatsmanid(localStorage.getItem('batsmanOne'));
這是方法定義:
function getBatsmanid(name){
var id;
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM player where player_name = ?',[name], function(tx, results) {
id = results.rows.item(0).player_id;
console.log('Batsman ID: '+id);
});
});
return id;
}
執行時, 該方法不會將id
返回到變量batsmanId
,而該值將顯示在控制台中。
我的感覺是數據庫操作需要花費一些時間來執行 。
請分享您的想法。
你的感覺是正確的。
在Javascript中,您不能(不應)“等待”某件事發生,並且使用的模型是相反的,更像是“完成后給我打電話”。
傳遞給executeSQL
用於提取數據的函數將在以后調用,您應該使用這種方法重新設計您的接口(即,不只是設置變量id
,而是在到達該id
后再進行其余的處理) )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.