-
Promise 是什么?
1.抽象表达
1)Promise 是一门新的技术(ES6规范)
2)Promise 是 JS 中 进行异步编程的
新解决方案备注:旧方案是单纯使用回调函数
2.具体表达
1)从语法上来说:Promise 是一个构造函数
2)从功能上来说:Promise 对象用来封装一个异步操作(例如:fs文件操作、数据库操作、AJAX、定时器)并可以获取其成功/失败的结果值
-
Promise 怎么用?
一般作为一个构造函数来使用,既需要 New 一下来创建一个 Promise 实例,它里面有3种状态,成功时候触发then...
-
Promise 的好处是什么?
1)支持链式调用
2)指定回调函数的方式更加灵活
1.旧的:必须在启动异步任务前确定
2.Promise:启动异步任务=>返回Promise对象=>给 Promise 对象绑定回调函数(甚至可以在异步任务结束后指定/多个)
-
Promise 解决了什么问题
它解决了回调地狱
-
有没有替代方案
Promise 虽然解决了回调地狱,但是并不能简化代码,所有一般工作中我会配合 async/await 来使用。
-
Promise.resolve 方法:(value)=>{}
(1) value:成功的数据或 Promise 对象
说明:返回一个成功/失败 Promise 对象
-
Promise.reject 方法:(reason)=>{}
(1) reason:失败的原因
说明:返回一个失败的 Promise 对象
-
Promise.all 方法:(Promise)=>{}
(1) Promise:包含 n 个 Promise 的数组
说明:返回一个新的 Promise,只有所有的 Promise 都成功才成功,只要有一个失败就直接失败
-
Promise.all 方法:(Promise)=>{}
(1) Promise :包含n个 Promise 的数组
说明:返回一个新的 Promise,第一个完成的 Promise 的结果状态就是最终的结果状态