一、一般什么情况下会用到promise?
1.封装异步的操作如:网络请求
2.解决回调地狱
二、怎么用
- new一个实例化对象 =>
- 实例化时传入一个函数(这个函数又需要传入两个函数(resolve,reject)作为参数) =>
- 实例化的对象可以调用.then和.catch方法(也需传入一个函数获取结果) =>
- 调用.then方法时能拿到resolve()回调函数传递的值,掉用.catch方法时能拿到reject()回调函数传递的值
promise = new Promise((resolve, reject)=>{
resolve("解决了")
reject("没解决")
}).then(res => {
console.log("res")//解决了
}).catch(err => {
console.log('err')//没解决
})
三、更多用法
- 链式调用
- .finally()方法
- .all()方法
四、总结
虽然promise的基本使用就如上面的代码这样十分简单清晰,但完全可以将promise玩出花来,这就靠多阅读一些优秀的promise的案例代码了
promise的结构非常清晰,某部分处理的代码在固定的地方处理。所以,能用promise处理就不要用回调函数处理