1.promise 是es6新增的对于异步编程的一种解决方案
在es5中我们常用回调函数来解决这种问题
那么什么是回调函数?
例如:
我们把函数b称为函数a的回调函数
2.如何创建promise,需要用到promise构造函数
3. promise对象 有三个状态 (状态一旦改变就意味着异步产生了结果 或者 意味着promise得到结果)
// 3.1 pending: 进行中
// 3.2 fullfiled: 已完成-成功的
// 3.3 rejected: 已失败-失败的
特性: 状态只能从pending--->fullfiled 或者 从pending--->rejected, 如果这个promise对象的状态已经改变就没有办法再变回去了
4. 所谓的异步的解决方案就是: 我们可以在new Promise的回调函数定义任意的异步操作, 状态最终变成成功fullfiled 还是变为失败的rejected状态 都是我们自己决定的
例如:
这里表示异步执行完毕,让promise对象产生了结果 结果就是'这就是pro1这个promise的结果'字符串,那这个字符串怎么被外面捕获?这个异步结果外面怎么拿到 res()调用 那么.then方法就会立马执行里面的第一个函数 并且将res参数传给第一个