一、承诺的本质:异步操作的优雅管理
在进入'Continuable Promises'的具体实现之前,我们首先要理解'Promise'这一概念的核心。在传统的同步编程中,当一个函数被调用时,它会立即执行并返回结果。然而,在许多现代应用场景中,我们不得不面对耗时操作,如网络请求、文件 I/O 或复杂的计算。这些操作如果同步执行,会阻塞主线程,导致用户界面卡顿甚至程序无响应。
异步编程应运而生,它允许我们在后台执行这些耗时操作,并在操作完成时通知我们结果。但传统的异步编程往往伴随着'回调地狱'(Callback Hell),即多层嵌套的回调函数导致代码难以阅读、维护和错误处理。
Promise(承诺)正是为了解决这些问题而诞生的。它代表了一个异步操作的最终结果,这个结果可能在未来某个时间点可用,也可能永远不会可用(因为操作失败)。一个 Promise 对象有以下几个核心特性:
- 状态(State):
- Pending (待定):初始状态,既没有成功,也没有失败。
- Fulfilled (已成功):操作成功完成,并返回了一个结果值。

