换句话说,就是普通函数有没有回调方法?像ajax()那样

解决方案 »

  1.   

    js/jQquery 怎么保证b函数在a函数执行完之后再执行?
    通过调用先后顺序确定
      

  2.   

    普通函数也可以有“回调” 但和ajax的那个不是一回事 因为没有请求响应的概念 也就是执行一下罢了 
    function aaa(fun){
      if(..){
         fun();
       }
    }
    如果ajax的话 因为是异步的 要想a执行完了再执行b的话 必须放到回调里执行
      

  3.   

    jquery 有个quere 和 dequere 
    不过专门是针对 动画效果的 
    网上说还针对 setTimeout 和 Ajax 不晓得那些脑残怎么办到的
      

  4.   

    jquery 1.5+有个Deferred Ojects能够在一系列的函数执行完以后,在执行其他的逻辑参看 http://api.jquery.com/jQuery.when/
      

  5.   

    你可以自己定义一套执行函数的方案啊,比如你的函数都是继承的某个对象 改对象设置 doBefor doAfter 之类的方法 就ok了
      

  6.   

    您好,这个函数我看了一下,应该是可以的,但是我自己用的时候出了一点问题,想麻烦您看一下,谢谢了!我在document.ready里是这样写的:    $.when(function () {
              ajaxMethod();//这是一个ajax方法
        }).done(
            function () {
               这里要修改AJAX回调回来显示的HTML
            }
        )但是实际运行的结果是:AJAX回调回来的内容为空。请问我是否用错了呢?
    谢谢!
      

  7.   

    function(arg){
    alert(arg)
    }
    要给它个回调回来数据的参数嘛
      

  8.   


    您好,
    这个function () {
    这里要修改AJAX回调回来显示的HTML
    }
    的意思是在这个方法里修改 AJAX操作过的HTML。也就是说在执行这个方法的时候AJAX已经完成了回调,完成了对HTML的修改。而我这个function只是要修改AJAX回调函数修改过的HTML,但每次都修改不成功。(我感觉AJAX回调函数执行完之前这个function就开始作用了,换句话说,这个$when没生效)
      

  9.   

    试下
    function () {
    alert(这里要修改AJAX回调回来显示的HTML)
    }
      

  10.   

    ajaxMethod();//这是一个ajax方法这个方法是同步还是异步,把它改成同步的试试看
      

  11.   

    不清楚具体要求,如果只是要等ajax操作完成的话,可以设置成同步的ajax
    async:false参看 http://jqapi.com/#p=jQuery.ajaxasync Boolean
    Default: trueBy default, all requests are sent asynchronously (i.e. this is set to true by default). If you need synchronous requests, set this option to false. Cross-domain requests and dataType: "jsonp" requests do not support synchronous operation. Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
      

  12.   


    我用了很多load()函数,这个封装了ajax原始方法的函数貌似不能设置这个async属性啊
      

  13.   

    .load 没有这个属性设置。