*回调函数:*是javascript中所有异步编程方案的根基,由调用者定义, 交给执行者执行的函数
*问题:*如果直接使用传统回调方式去完成复杂的异步流程,会产生回调地狱
为了避免回调地狱的出现,CommonJS社区提出了Promise的规范,目的是为异步编程提供一种更合理更强大的统一解决方案
在ES2015中被标准化,成为语言规范
*Promise:*是一个对象,用来表示一个异步任务,可能成功也可能失败,明确结果之后不能再改变
Promise–pending–Fulfilled–onFulfilled 成功
Promise–pending–Rejected–onRejected 失败