我应该使用此函数的返回值做一些控制。即使res的值转化为“when-then”过程的错误结果,hasIllegalRoute函数返回,res也是如此。因为jquery异步工作,所以不等待完成when-then操作返回res的值。我怎么解决这个问题?jquery异步问题?
function hasIllegalRoute()
{
var res = true;
$.when(returnUncompletedRoute()).then(function(routeList)
{
if(routeList.length>0)
{
var uncompletedRoute = 0;
var today = new Date();
routeList.forEach(function(e)
{
var routeDate = new Date(e.ROUTE_DATE);
if(calcDay(routeDate) != calcDay(today))
{
uncompletedRoute++;
}
});
if(uncompletedRoute>0)
{
$("#errorPageRouteMenu").append("<p>Sonlandırılmamış kayıtlarınız var, bu kayıtları sonlandırmadan yeni bir rotaya başlayamazsınız</p>");
return false;
}
}
}).then(function(result)
{
res = result;
});
return res;
}
'返回false;'是它的第一个'。那么()' – Jai
是这样结果的价值来自假和资源需要=假 – ebruszl
尝试改变这一点:'返回false;'这样:'返回RES ;'或删除它,因为我知道'return false;'停止脚本执行。 – Jai