前言
一开始学习前端的时候,很多技术都是学习其用法,实际上很少去了解其原理,因此在空闲时,去写一些笔记记录一下自己对一些常用技术的原理理解。
什么是Promise?
Promise 是ES6提供的一个对象,Promise对象代表了未来将要发生的事件,用来传递异步操作的消息;常用在网络请求中。
Promise对象的状态不受外界影响,它有三种状态
· pending 进行中
· fulfilled 已成功
· rejected 已失败
Promise的状态只能由异步操作的结果决定。并且,Promise对象的状态既定,便不会再发生改变,且任何时候都能够得到其结果。Promise的状态改变通常只有 pending——fulfulled || pending——rejected。
Promise的优缺点
Promise对象可以将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数。而且Promise对象提供了统一的接口,使得控制异步操作更加容易。
但是,Promise一旦新建就会立即执行,中途是无法取消的。其次,若不设置回调函数,Promise内部抛出的错误,是不会反应到外部(由于它内部不会受到外部的影响)。当Promise对象处于pending状态时,是无法得知目前进展到哪一个阶段。
Promise基础使用
使用一个东西的时候,