У меня есть код, который дает проблему при возврате значения из вложенной функции.
проверьте этот код.возвращаемое значение из вложенной функции в jQuery
function test(){
var flag=true;
$.post('path/of/file.php',{data:data},function(r){
if(r == 1){ flag=false; }
});
return flag;
}
эта функция test
всегда возвращает true
. потому что он возвращает значение без ожидания функции обратного вызова $.post
. если я вернусь в функцию обратного вызова, это не сработает. так, как я могу преодолеть эту проблему.
спасибо ...
Его совершенно неясно .. Вы хотите, чтобы вернуть значение, как только вы получите значение обратно из 'Post'? Но вы всегда возвращаете «правду»? и это не имеет смысла, независимо от того, получили ли вы значение из 'post'. Можете ли вы рассказать о сценарии? –
Я думаю, вы должны вернуть 'return flag'; вместо 'return true' –
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (http://stackoverflow.com/questions/14220321/how-to-return-the-response-from-an-asynchronous -call) –