我有一个递归函数,它在运行时锁定我的浏览器。
当此函数运行时,我的所有jquery命令都被锁定,等待函数结束。
如何使此功能异步?
此功能在document.ready
上运行function SearchTrip() {
$.post("/extensions/searchtrip", {
from: $("#from").val(),
to: $("#to").val(),
ddate: $("#ddate").val()
},
function (mReturn) {
if (mReturn.fTotalAmount != '0,00') {
var sAirline = '';
if (mReturn.Airline)
sAirline = ' pela ' + mReturn.Airline;
$("#buscandoPassagens").hide();
} else if (SearchTripAmount < 5) {
SearchTripAmount++;
setTimeout(function () {
SearchTrip();
}, 500);
} else {
$("#pNaoEncontrada").show();
}
},
"json");
}
答案 0 :(得分:0)
如果要以异步方式运行它,只需用setTimeout
包装所有内容:
function SearchTrip(){
setTimeout( function() {
//this is your $.post i just deleted 'content' to make answer easier to read
$.post();
}, 0);
}