方法未按正确的顺序/异步方法调用
Method not called in correct order / asyncronous method
当我尝试按此顺序加载这些函数时,我在这里遇到了问题:顺便说一下,我正在使用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感到困惑。顺便问一下,第一个参数是如何加载对象的?谢谢大家!
查看插件文档,fnReloadAjax()
具有以下签名:
fnReloadAjax = function ( oSettings, sNewSource, fnCallback, bStandingRedraw ) { }
因此,可以将回调函数作为完成 AJAX 调用时执行的第三个参数传递。试试这个:
currPage = LookupPts.oTable.fnPagingInfo();
LookupPts.oTable.fnReloadAjax(null, null, function() {
LookupPts.oTable.fnPageChange(currPage.iPage);
});
试试这个:
currPage = LookupPts.oTable.fnPagingInfo();
LookupPts.oTable.fnReloadAjax(null, null, function() {
LookupPts.oTable.fnPageChange(currPage.iPage);
}
您需要实现回调,因为 Javascript 是一种非阻塞语言,并且不会逐步使用命令。因此,您需要在方法完成后运行的回调。
我只是看了ReloadAjax方法的定义(我从来没有使用过这个)。如果我得到正确的是:函数(oSettings,sNewSource,fnCallback,bStandingRedraw))以下代码应该可以工作:
currPage = LookupPts.oTable.fnPagingInfo();
LookupPts.oTable.fnReloadAjax(null, null, function(){
LookupPts.oTable.fnPageChange(currPage.iPage);
});
- 将其中一个异步方法重写为使用promise的方法
- strongloop script.js run find in before delete方法:如何同步运行异步方法
- QtWebKit中的JavaScript和异步方法
- 按顺序异步加载JS脚本(等待上一个脚本完成)
- Node.js-异步方法调用问题
- Meteor:如何遍历一个数组,这是一个异步方法的结果
- 任何控制Javascript异步加载顺序的方法
- JavaScript中异步方法的优点是什么
- 如何将异步方法返回的值发送到javascript中的另一个异步方法
- 在javascript中链接多个异步方法
- 是否有可能在 JavaScript 中使用异步方法进行迭代
- 如何在 javascript 中同步异步方法
- for 循环中的异步方法
- 多个顺序异步 JavaScript 函数
- 方法未按正确的顺序/异步方法调用
- NodeJS 顺序异步与条件语句
- 灯光开关加载所有数据或同步运行异步方法
- 如何使用承诺实现顺序异步计算
- PHP 上的异步方法
- 如何确保异步方法已完成