回调函数:在 Node.js 中,很多 API 都是异步的,通常通过回调函数来处理操作完成后的结果。这种回调模式虽然非常高效,但会导致代码逐渐变得难以维护,尤其是当有多个异步操作嵌套时(即回调地狱)。
回调地狱:回调函数嵌套过深,导致代码结构复杂、可读性差,甚至容易出错。
解决方法:
- 使用 Promises :通过
Promise
对象,可以链式调用多个异步操作,避免回调嵌套,使代码更加简洁和可维护。 - 使用
async/await
:这是更现代的异步编程方式,基于 Promise,但用同步代码的风格书写异步代码,避免了回调函数的嵌套,使代码更加直观。
node.js的异步操作,需要通过回调函数来拿完成后的结果,但是如果有多个异步操作,早期是通过回调函数嵌套回调函数,这样会造成回调地狱,导致代码结构复杂、可读性差,甚至容易出错。通过上面的解释,大概知道了为什么会有Promises和async/await,目的一是为了代码的可读性目的二不易出错
既然已经知道了Promises和async/await的来历,那下面就写下
Promises和async/await的实现思路吧
Promises代码实现
async/await代码实现