簡體   English   中英

不從數據庫返回值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM