2012-01-12 3 views
3

Phonegap & Sencha Touchでアプリケーションをプログラミングしています。私はすべてのデータベースとリクエスト機能を備えたSenchaインターフェースとdatabasesFunctions.jsを持つviewport.jsファイルを持っています。WebSQL(Phonegap)コールバック

私はviewport.jsにこのラインを呼びたい:私は私の関数の戻り値を取得する方法がわからない

function launchRequest(requete,callback){ 
    var db = openDatabase('database', '1.0', 'database', 2 * 1024 * 1024); 

    db.transaction(function (tx) { 

     tx.executeSql(requete,[], 
     function (tx, results) {   
      return callback(results.rows.length); 
     }); 

    }); 
} 
function nombreItems(num) {return num;} 

ここ
if(launchRequest('SELECT * from items',nombreItems)) alert('there are items'); 

を簡素化する機能です。通常、関数の終わりに(標準SQLで)戻りますが、結果は別の関数に送信されます。

答えて

3

WebSQLインターフェイスが非同期であるため、このコードはあなたが求めていることを行います。値を返すことはできません。

launchRequest('SELECT * from items',nombreItems); 

function launchRequest(requete,callback){ 
    var db = openDatabase('database', '1.0', 'database', 2 * 1024 * 1024); 

    db.transaction(function (tx) { 

     tx.executeSql(requete,[], 
     function (tx, results) {   
      callback(results.rows.length); 
     }); 

    }); 
} 
function nombreItems(num) { 
    if(num){ 
     alert('there are items'); 
    } 
} 
関連する問題