Javascript回调函数

本文深入讲解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);  






转载于:https://www.cnblogs.com/clnchanpin/p/6853273.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值