简介
1,Promise 是异步编程的一种解决方案。
2,Promise里面经常保存了未来才会结束的事件(通常是一个异步操作)
3,Promise对象, 可以将异步操作以同步的流程表达出来, 避免了回调地狱的出现。
promise的基本用法
promise需要接收一个回调函数作为参数
作为参数的函数,可以接收两个参数:(resolve,reject)
let p1=new Promise((resolve,reject)=>{
异步
});
console.log(p1);
promise状态
总共有三种状态:
1,pending 进行中
2,fullfilled 成功(resolved)
3,rejected 失败
promise的状态有两种改变方式:
1,pending----->成功 调用resolve方法
2,pending----->失败 调用reject方法
promise的状态一旦发生改变,就凝固了(不可再改变了)。
promise的两个方法
1,then方法可以接收两个参数,第一个参数为promise成功状态的回调函数;第二个参数为promise失败状态的回调。
2,catch方法:可以捕获代码中的异常;可以接收promise失败状态的回调。
let p = new Promise(function (resolve, reject) {
setTimeout(() => {
console.log('hello world');
resolve();//修改成功状态
reject();//修改为失败状态
}, 1000)
});
then方法会有个返回值,不写return 那么就默认为promise对象
p.then(rst => {接收成功
console.log(rst);
}).catch(err=>{接收失败
console.log(err);
})