第三章 异步编程
异步编程是 Node.js 的核心概念。由于 JavaScript 是单线程执行的,为了避免阻塞,Node.js 采用了异步 I/O 和回调函数的方式来处理耗时的操作。
3.1 回调函数
回调函数是 Node.js 中最基本的异步编程模式。当一个异步操作完成时,回调函数会被调用来处理结果。
虽然回调函数能够解决问题,但在处理多个异步操作时容易导致回调地狱,代码可读性差,难以维护。
3.2 Promise
Promise 是 ES6 引入的异步编程解决方案。它 represents a value that may be available now, or in the future, or never。
Promise 有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。一旦状态改变,就不会再变化。
3.3 async/await
async/await 是 ES2017 引入的异步编程语法糖。它让我们可以用同步的方式编写异步代码,大大提高了代码的可读性。
async 函数会返回一个 Promise 对象。在 async 函数内部,可以使用 await 关键字来等待一个 Promise 对象完成。