Promise基础
选中文字可对指定文章内容进行评论啦,绿色背景文字可以点击查看评论额。
Promise定义
Promise通常与异步操作相关联,本质上
// fetch() promises to complete at some point in the future
const promise = fetch("books.json");
fetch() 函数是 JavaScript 运行时发出网络请求的常用工具函数。fetch() 的调用实际不会立即完成网络请求; 而是将来完成请求。 该函数返回一个代表异步操作的 promise 对象(在本例中存储在 promise 变量中,您可以随意命名),以便将来可以使用它。 究竟什么时候能够处理这个结果取决于 Promise 的生命周期是如何进行的。
Promise生命周期
每个Promise都会经历一个叫做Pending状态开始的短暂生命周期,此状态表明Promise未完成。一个Pending状态的Promise也被称为unsettled。前一个例子中的Promise就处于Pending状态,一直到fetch返回。一旦Promise完成,Promise被认为settled,并进入两种可能的状态之一,如图所示:

1. Fulfilled:Promise已成功完成。
2. Rejected:由于错误或其他原因,promise 没有成功完成。
内部 [[PromiseState]] 属性设置为“Pending”、“fulfilled”或“rejected”以反映承诺的状态。 这个属性没有暴露在 Promise 对象上,所以你不能以编程方式确定 Promise 处于哪个状态。 你可以使用 then() 方法在 Promise 改变状态时采取特定的行动。
版权声明:著作权归作者所有。
大纲