首页 存档 技术 查看内容

如何学好Javascript的异步编程

2018-3-30 13:00 |来自: 互联网 335 0

摘要: 来源:Coding学院(ID:ke_coding) 导语Javascript的异步编程一直在发展。通常,单线程的javaScript代码是由上往下依次执行的。多个任务需要处理时就需要排队处理,完成一个任务后才执行下一个任务。这种执行模式称 ...

来源:Coding学院(ID:ke_coding)

导语

Javascript的异步编程一直在发展。

通常,单线程的javaScript代码是由上往下依次执行的。多个任务需要处理时就需要排队处理,完成一个任务后才执行下一个任务。这种执行模式称之为:同步。同步的一个隐含问题是个别任务耗时较长时会导致线程阻塞,造成网页卡顿、阻塞用户交互等情况。
而异步编程是指将任务分为两段,一段现在执行,另一段放在未来执行。执行第一段后js线程将转向执行其他任务,直到响应后才把任务的第二段加入事件循环队列或任务队列中,这样就不会因为个别任务耗时长而导致线程阻塞问题。而异步编程的核心则是任务中现在运行部分与未来运行部分之间的关系。


回调函数

Callback是javaScript中最基础的异步模式,他将任务在将来执行的部分单独抽象出一个函数,在需要执行将来部分时直接调用该函数。

比如Ajax(url,callback),将回调函数传进Ajax函数中,Ajax得到响应后将callback加入到事件队列中等待执行。

但是使用回调函数存在着两个问题,第一个就是众所周知并且深恶痛绝的回调地。当代码中出现嵌套的回调函数时,就破坏了代码的“线性”流程,取而代之的是嵌套回调函数造成的“非线性”流程。与同步执行的“线性”执行顺序很大不同,这里的执行顺序为A-

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部