摘要:
Promises是一种异步编程模型,通过一组API来规范化异步操作,这样也能够让异步操作的流程控制更加容易。这里谈的是Promises/A,算是Promises的一个分支吧,其实就是根据Promises模型定义了一组API。由于Promises对于新手而言理解曲线还是比较陡峭的,这里循序渐进的给大家介绍,同时实现一个最简单的Promises/A代码。Promises/A有个别名叫做“thenable”,就是“可以then”的。这里一个promise有三种状态:[默认、完成、失败],初始创建的时候是默认状态,状态只可以从默认变成完成,或者默认变成失败。一旦完成或者失败,状态就不能再变。为了简化文 阅读全文
摘要:
JavaScript中有大量异步操作,首先可以看看JS中什么东西会产生异步(这里先只考虑浏览器里的情况):Ajax(XMLHttpRequest)Image Tag,Script Tag,iframe(原理类似)setTimeout/setIntervalCSS3 Transition/AnimationpostMessageWeb WorkersWeb Socketsand more…实际上在我自己的理解中,任何“在未来不确定的时间发生”的事情都可以理解为异步,因此各种DOM事件也可以用类似的方式去理解和处理。异步是JS中的重要话题,Ajax和Node.JS出现以后更是让JS中的异步编程提升 阅读全文