zoukankan      html  css  js  c++  java
  • Javascript回调函数

    一直一来对回调函数这个概念都非常模糊:
    在JavaScript语言精粹一书中对回调函数的介绍例如以下:

    1.函数使得对不连续事件的处理变得更easy。比如,假定有这么一个序列。由用户交互行为触发,向server发送请求。终于显示server的响应。

    最自然的写法可能会是这种:

    request = prepare_the_request();
    response = send_request-synchronously(request);
    display(response);

    2.这样的方式的问题在于,网络上的同步请求会导致client进入假死状态。假设网络传输或server非常慢。响应会慢到让人不可接受。
    更好的方式是发起异步请求,提供一个当server的响应到达时随即触发的回调函数。异步函数马上返回,这样client就不会被阻塞。

    request = prepare_the_request();
    send_request-synchronously(request,function(response){
          display(response);
    });

    3.我们传递一个函数作为參数给send_request-synchronously函数,一旦接收响应,它会被马上调用


    以上这部分事实上已经解释了回调函数的使用方法,接下来再举个样例,简单点说明就是把方法a当做一个參数传递给方法mian,当方法mian运行完后运行另外一个指定函数(a)。这里a就是回调函数

    function main(callback)   
            {      
                alert("main fun");
                callback();   
            }   
            function a(){   
                alert("a fun");   
            }       
            main(a);  






  • 相关阅读:
    BZOJ 1103 Poi2007 大都市meg
    BZOJ 2815 ZJOI2012 灾难
    【bzoj】1046: [HAOI2007]上升序列
    P1168跳房子(焫鷄如我)
    HAIO2017[打酱油的旅行!?]
    [haoi2013]花卉节
    P1298(矩阵切割)DP
    P1216 (list加强版)
    p1219最佳贸易(两边bfs写的)
    p1150[noip2013普及]表达式求值
  • 原文地址:https://www.cnblogs.com/clnchanpin/p/6853273.html
Copyright © 2011-2022 走看看