我應該使用此函數的返回值做一些控制。即使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