2013-04-17 1 views
0
i have written code to get max data from database and then insert that data in another table but it is not giving data first time.it is giving leadid as undefined because it is not waiting result of getMaxLeadId and executing second statement.my code is given below 

var leadId = getMaxLeadId(); 

alert("leadId"+leadId); 

function getMaxLeadId() {} 

исинхронный вызов в мобильном JQuery и PhoneGap для получения данных из базы данных

function getMaxIdData_success(tx, result){} 

после мне нужно вызвать вставки maxLeadId в функцию вставки.

Просьба предложить мне некоторое представление о том, как написать функцию обратного вызова в java Script.

ответ

3

Обычный способ сделать это с обратными вызовами в стиле программирования, известном как CPS.

Общий вид этого

var doSomeCalc = function(resultFunc) { 
    //do some long running calc 
    var result = 4; 

    resultFunc(result); 
}; 

var writeOutResult = function(result) { 
    console.log(result); 
}; 

doSomeCalc(writeOutResult); 

так что вы хотите, чтобы написать getMaxLeadId() в такой форме, чтобы взять на себя функцию обратного вызова, то будет вызываться, когда он вычислил ответ.

Не забудьте указать это как правильный ответ, если вы так считаете.