当前位置 博文首页 > 文章内容

    js同步和异步和回调的理解

    作者: 栏目:未分类 时间:2020-09-06 9:01:49

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    看阮老师的http://www.ruanyifeng.com/blog/2014/10/event-loop.html 

    我谈下我自己的理解

    js执行时可以想象成一条车道,车道上汽车一辆接一辆,有条不紊的运行。(同步)这时,有一辆车坏掉了。假如它停在原地进行修理,那么后面的车就会被堵住没法行驶(代码堵塞),交通就乱套了。幸好旁边有应急车道,可以把故障车辆推到应急车道修理,而正常的车流不会受到任何影响(异步处理)。等车修好了,再从应急车道回到正常车道即可。唯一的影响就是,应急车道用多了,原来的车辆之间的顺序会有点乱。

    或者是这么看js执行好比玩的垃圾网页游戏,主线任务被绑定死的不做完不准做支线(同步),但支线任务又会被接取,接取后只好放入任务面板等做完主线后再做(异步)

     

    回调(这个忘了哪里听过但例子真的很好)

    约会结束后你送你孩子回家,离别时,你肯定会说:“到家了给我发条信息(call me back),我很担心你。”

    然后你女朋友回家以后还真给你发了条信息。

    其实这就是一个回调的过程。

    你留了个参数函数(要求女朋友给你发条信息)给你女朋友,然后你女朋友回家,回家的动作是主函数。

    她必须先回到家以后,主函数执行完了,再执行传进去的函数,然后你就收到一条信息了。