您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页js回调同步回调异步回调

js回调同步回调异步回调

来源:测品娱乐
js回调同步回调异步回调

⼀、回调

回调来说有⼀个关键词:函数参数,即把函数A当做参数传递到另⼀个函数B之中,这样当B(A)时,在B中会“”回过头“”再调⽤函数A(),把函数A叫做回调函数。

为了更⽅便的记忆:请记住 函数参数 回过头再调⽤。⼆、⾸先先看⼀下没有⽤回调的情形

function f1() {

var name = prompt('请输⼊你的名字。'); return name}

function f2(name) { alert('Hello ' + name);}

var name = f1()f2(name)

log(333333333)

上述代码先执⾏f1,再执⾏f2,如果f1需要消耗很长时间来执⾏,f2需要等待,故是同步操作,且没有⽤到回调。最后执⾏log(333333333)

三 、同步回调 的情形

function f2(name) { alert('Hello ' + name);}

function f1(callback) {

var name = prompt('请输⼊你的名字。'); callback(name);}

f1(f2);

log(222222222222)

上述代码,f2作为f1的回调函数,执⾏的时候,按顺序执⾏f1内的部分,f1执⾏到f2时,执⾏f2,再⼀次执⾏f1内剩下的部分,此时同样是同步操作。最后执⾏log(222222222222)

四、异步回调的情形

function f2(name) { alert('Hello ' + name);}

function f1(callback) { setTimeout(function () {

var name = prompt('请输⼊你的名字。'); callback(name);    }, 10000);}

f1(f2);

log(11111111111111)

此时f1内多了setTimeout函数,作⽤:延迟10000执⾏该函数内function部分。

注意:此时实验结果:是⾸先执⾏log(11111111111111),当延迟10000之后,执⾏function,再回调f2,此时是异步操作。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务