Javascript:在函数退出时触发动作

有没有办法监听JavaScript函数退出?功能完成后可以设置触发器吗?

我正在尝试在AJAX对象从数据库中检索数据时使用用户界面混淆技术(BlockUI),但是该功能不一定要最后执行,即使您将其放在函数调用的末尾也是如此.

例:

function doStuff() {
  blockUI();
  ajaxCall();
  unblockUI();
};

在触发unBlockUI之前,doStuff有没有办法监听ajaxCall?照原样,它以线性方式处理函数,依次调用每个对象,然后产生一个单独的线程来完成每个对象.因此,尽管我的AJAX调用可能需要10到15秒才能完成,但是由于该函数的线性执行,我只是在瞬间中断了用户.

解决这个问题的方法不太好…仅当AJAX函数设置的返回值设置为true或类似性质时,才使循环结束.但这似乎不必要地复杂且效率低下.

解决方法:

但是,如果您要完成Ajax例程,则需要一个“回调”函数,该函数将在完成后立即运行:

function ajaxCall(callback){
    //do ajax stuff...
    callback();
}

然后:

function doStuff(){
    blockUI();
    ajaxCall(unblockUI);
}
上一篇:php-Mysql自动更新


下一篇:在MySQL触发器中使用预准备语句的替代方法