Как дождаться завершения транзакции базы данных и возврата значения в phonegap

Я создаю приложение, которое извлекает данные из базы данных при запуске, для этого я хочу создать js, который будет выполнять транзакцию с базой данных и возвращать элемент массива, с помощью которого я создам текстовое поле и кнопку и т. д. Знайте, проблема в том, когда я вызываю функцию при загрузке, например elementArray=fetchdata();, а затем db.transaction в js извлекает данные из базы данных и возвращает и массив, но когда я вызываю функцию в js, она вызывает функцию и начать выполнение, но не ждет завершения db.transaction и запускает дальнейшее выполнение. Я хочу дождаться, пока db.transaction завершит свою операцию, а затем выполнить дальнейшую операцию. вот файл dynamic_form.js, который я создаю для извлечения данных из базы данных:

var elementArray=new Array();
function fetchdata(){
db.transaction(function(tx){
    tx.executeSql("Select * from contactTable",[],function(tx,results){
        for(var i=0;i<results.rows.length;i++){
            var element=new Object();
            element.Name=results.rows.item(i).name;
            element.Lastname=results.rows.item(i).last_name;
            element.Mobile=resulst.rows.item(i).mobile_no;
            // ****and so on***//
            elementArray[i]=element;
        }
        return elementArray;
    });
});}

вот код в файле html, он загружает файл js:

function dbTranscation()
    {
        console.log("$ function");
        var elementArray=fetchdata();
                       // after this it sould call this function
          createfield();

    }

person Neerav Shah    schedule 12.08.2013    source источник
comment
Можете ли вы проверить возвращенный массив элементов, если он содержит данные, то вызовите только метод createfield() ИЛИ добавьте createfield в качестве функции обратного вызова с возвращенным elementArray.   -  person Sheetal    schedule 12.08.2013
comment
Вот где я застрял, как проверить возвращаемый elementArray, можете ли вы привести пример, пожалуйста, это было бы очень полезно. @Sheetal   -  person Neerav Shah    schedule 12.08.2013
comment
Я пробовал это, но прежде чем он вернет значение из файлов js, он выполняет условие if   -  person Neerav Shah    schedule 12.08.2013


Ответы (2)


person    schedule
comment
могу ли я поместить обратный вызов With в файл js, чтобы я мог просто вызывать его всякий раз, когда захочу использовать его на разных страницах..@sheetal - person Neerav Shah; 12.08.2013
comment
эй, спасибо за ваш ответ, я решил проблему, я вызываю функцию из файлов js для создания полей, но знаю, что проблема в том, что она ничего не создает на странице. Я проверил, содержит ли elementArray данные или нет. - person Neerav Shah; 12.08.2013
comment
отлично, но ваша первоначальная проблема решена, верно? поэтому, пожалуйста, отметьте ответ решенным. - person Sheetal; 12.08.2013
comment
можете ли вы также проверить этот вопрос stackoverflow.com/q/18271338/2307391 @sheetal - person Neerav Shah; 17.08.2013

person    schedule
comment
вы также можете проверить этот вопрос stackoverflow.com/q/18271338/2307391 @JDev - person Neerav Shah; 17.08.2013