十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
最近碰到了异步编程的问题,决定从原理开始重新撸一遍,彻底弄懂异步编程。
成都创新互联公司主要从事成都网站设计、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务贡嘎,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:028-86922220
异步编程是为了解决同步模式的一些痛点,同步模式中任务是依次执行,后一个任务必须要等待前一个任务结束后才能开始执行,当某个函数耗时过长时就可能造成页面的假死和卡顿,而异步编程中,后一个任务不会去等待前一个任务结束后才开始,当前一个任务开启过后就立即往后执行下一个任务。耗时函数的后续逻辑会通过回调函数的方式定义。在内部,耗时任务完成过后就会自动执行传入的回调函数。
同步行为对应内存中顺序执行的处理器指令,每条指令都会严格按照出现的顺序来执行,而每条指令执行后也能立即获得储存在系统本地的信息.这样的执行流程容易分析程序在执行到代码任意位置时的状态.
如下例子:
///同步模式 console.log('global begin') function bar () { console.log('bar task') } function foo () { console.log('foo task') bar() } foo() console.log('global end') // 程序打印输出: // global begin // foo task // bar task // global end