2013-11-14 4 views
0
var processResult = function(items) 
{ 

    return 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; 
     } 

Main.jsНевозможно отобразить массив

queryDB(processResult, function(arr) { 
      $.each(arr, function(i, elem) { 

     }); 
    }); 

В приведенном выше коде item_Codes является array.Here мне нужно напечатать массив после данных loaded.But, когда я пытаюсь напечатать массив это отображает нуль. Как я могу напечатать массив после загрузки данных в массив.

+0

Вы можете ответить на свой вопрос – user2889058

ответ

1

Вы не можете использовать переменную после вызова, используется параметр в функции обратного вызова, который вы отправляете в вызове:

queryDB(function(arr){ 
    console.log(arr); 
}); 
+0

Я изменяю код, это правильно. – user2889058

+0

@ user2889058: Если вы измените свой вопрос, чтобы выглядеть как ответ, другие люди не поймут ответ. – Guffa

+0

Hwy извините за ошибку. Но когда я пытаюсь, я все равно даю мне ошибку.11-14 11: 23: 28.718: E/Web Console (8418): Uncaught TypeError: undefined не является функцией: 67 – user2889058

0

почему не попробовать:

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; 
      }); 
    console.log(item_codes); 
    return false; 
} 

Это is, я просто пытаюсь распечатать значение вашего массива после выполнения кода.

+0

На самом деле мне нужно распечатать массив из другого файла. – user2889058

Смежные вопросы