Promise 和 async & await

Promise 和 async & await

异步是为了优化需要长时间操作。异步编程技术使你的程序可以在执行一个可能长期运行的任务的同时继续对其他事件做出反应而不必等待任务完成。

回调函数

回调函数表明异步操作已经完成。作为曾经 JavaScript 中实现异步函数的主要方式。主要存在以下几个不足:

  • 错误处理困难:当任务长期运行,调用回调函数的代码一般不会和开始任务中的同步代码位于同一事件循环周期

  • 连续执行步骤非常棘手:也就是回调地狱的问题

  • 执行并行任务时也有一定复杂度

当异步请求相互依赖时使用回调的方式会导致深度嵌套,会导致经典的回调地狱:

Read more
迭代器(Iterators)和生成器(Generator)

迭代器(Iterators)和生成器(Generator)

迭代器

迭代器(iterator),使用户可在容器对象(container,例如链表数组)上遍历的对象

迭代器模式

迭代器模式可以让开发者无需了解如何迭代就可以实现迭代操作。Python,C#,Java对该模式都有完备的支持,JavaScript在ECMAScript 6 也将其引入到语言核心中来。

Read more