promise 对象用于异步计算,在未来处理某件事,将异步操作队列化,按照期望的顺序执行,返回期望的结果,可在对象之间传递和操作promise,帮助我们处理队列 1、异步操作以事件为主 2、回调主要出现在ajax请求和File API
nodejs 无阻塞高并发
异步回调: 1、嵌套层次很深,代码难以维护 2、无法正常使用return 和 throw 3、无法正常检索堆栈信息 4、多个回调之间难以建立联系
**promise 设计** new Promise( /*执行器 executor*/ function(resolve,reject){ //有段耗时很长的异步操作 resolve(); //数据处理完成 reject();//数据处理出错 } ) .then(function A(){ //成功,下一步 },function B(){ //失败,做相应处理 }) new Promise( resolve => { setTimeout(() => { throw new Error('bye'); },2000); ).then(value => { console.log(value); }).catch( error => { console.log(error); }) promise三个状态: pending【待定】初始状态 fulfilled【实现】操作成功 rejected【被否决】操作失败promise常用函数 promise.all()
