面试在即,写此文章,祝自己面试顺利,加油!!!~~~~~
同样也祝愿跟我一样的同志面试成功!!
promise
promise概述
Promise是异步编程的一种解决方案,从语法上讲,Promise是一个对象,可以获取异步操作的信息
promise的目的
- 解决地狱回调的问题
- Promise对象提供了简洁的API,控制异步操作更加易如反掌
promise有三种状态
pendding // 正在请求
rejected // 失败
resolved // 成功
基础用法
new Promise(function(resolve,reject){})
const Pro = ()=>{
let p = new Promise(function(resolve,reject){
setTimeout(function(){
console.log('执行完成Promise');
resolve('要返回的数据可以任何数据例如接口返回数据');
},2000); //刷新页面控制台打印
});
return p;
}
resolved,rejected函数
在异步事件状态pendding到resolved回调成功时,通过调用resolved函数返回结果,当异步操作失败时(pendding到rejected)调用rejected函数显示错误信息
.then和.catch
上面代码promise基础使用为例,包装好的函数最后,会return出一个promise对象,就是说执行函数我们可以得到一个promise对象,我们就可以直接使用promise上的.then方法和.catch方法,这也就是promise的强大之处
p.then((data)=>{
//.then是promise上的方法
console.log("resolved",data);
}).catch((err)=>{
//.catch也是promise上的方法
console.log("rejsct", err);
})
先是方法被调用起床执行了promise,最后执行了
promise的then方法,then方法是一个函数接受一个
参数是接受resolve返回的数据这事就输出返回值