-1

SaveData.js

function queryDB(callback) {

    var sqlTxt = "SELECT * FROM DEMO";
    db.transaction(
            function(tx) {
                tx.executeSql(sqlTxt, [],
                        function(tx, results) {
                            var item_Codes = [];
                            for (var i = 0; i < results.rows.length; i++) {
                                item_Codes.push({item_code: results.rows.item(i).itemCode});
                            }
                            callback(item_Codes);
                        })
                        , errorCB;
            });
    return false;
}

main.js

 queryDB();
    console.log( item_Codes);

データベースからデータを取得するための上記の 2 つのメソッドがあります。正常に動作しますが、これら 2 つのメソッドを 1 つのメソッドに結合して、itemCodes 配列を返す必要があります。

4

1 に答える 1

0
var processResult = function(items)
{
  //process returned array 'items'
} 

function queryDB(callback) {

    var sqlTxt = "SELECT * FROM DEMO";
    db.transaction(
            function(tx) {
                tx.executeSql(sqlTxt, [], 
    function (tx, results) {
      var item_Codes = [];
      for (var i = 0; i < results.rows.length; i++) {
        item_Codes.push({item_code: results.rows.item(i).itemCode});
      }
      callback(item_Codes);
    })
, errorCB);
            });
    return false;
}

そしてそれを呼び出す:

queryDB(processResult);

item_Codesまたは、関数 processResult の代わりにグローバル変数を使用できます

于 2013-11-13T15:42:31.343 に答える