当我尝试按此顺序加载这些函数时,我遇到了一个问题: 顺便说一句,我正在使用 Datatables 和 jQuery,我相信你们中的许多人可能已经知道了。
currPage = LookupPts.oTable.fnPagingInfo();
LookupPts.oTable.fnReloadAjax();
LookupPts.oTable.fnPageChange(currPage.iPage);
当我尝试在 fnReloadAjax()
之后立即运行 fnPageChange()
时失败
我知道由于异步 fnReloadAjax
,这是一个计时问题,
我的问题是如何在 fnReloadAjax
完成时调用 fnPageChange
。
最佳答案
好的,我已经修好了。
在发布我的问题之前,我尝试了与你们所有人描述的相同的方法,但我仍然遇到同样的问题。由于某种原因,它不起作用。
我必须做些什么来修复它?
调试插件后发现参数顺序不正确。插件的参数是:oSettings、sNewSource、bStandingRedraw、fnCallback。
我注意到调用该方法时我的参数顺序不正确。我的命令是 oSettings = object,nNewSource = null,fnCallback = null,bStandingRedraw = function。
诀窍是像这样以正确的顺序放置参数,回调在参数列表中排在第二位:
currPage = LookupPts.oTable.fnPagingInfo();
LookupPts.oTable.fnReloadAjax(null, function(){
LookupPts.oTable.fnPageChange(currPage.iPage);
console.log("finished loading the page details");
}, null);
我对第一个参数 oSettings 感到困惑。顺便问一下,第一个参数是如何加载对象的? 谢谢大家!
关于javascript - 方法未按正确顺序调用/异步方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10745264/