1,Promise的概念和作用: Promise是异步编程的一种解决方案,将异步操作以同步操作的流程表达出来,避免了层层嵌套的回调函数
2,Promise的状态: 它有三种状态,分别是pending进行中、resolved已完成、rejected已失败
3,Promise语法: Promise 构造函数包含一个参数和一个带有 resolve(解析)和 reject(拒绝)两个参数的回调。在回调中执行一些操作(例如异步),如果一切都正常,则调用 resolve,否则调用 reject。对于已经实例化过的 promise 对象可以调用 promise.then() 方法,传递 resolve 和 reject 方法作为回调。then()方法接收两个参数:onResolve和onReject,分别代表当前 promise 对象在成功或失败时
语法:
varpromise=newPromise((resolve,reject)=>{varsuccess=true;if(success){resolve('成功');}else{reject('失败');}}).then((data)=>{console.log(data)},(data)=>{console.log(data)})
执行过程:
setTimeout(function(){console.log(0);},0);varpromise=newPromise((resolve,reject)=>{console.log(1);setTimeout(function(){varsuccess=true;if(success){resolve('成功');}else{reject('失败');}},2000);}).then((data)=>{console.log(data)},(data)=>{console.log(data)});console.log(promise);//<pending> 进行中setTimeout(function(){console.log(promise);//<resolved> 已完成},2500);console.log(2);//1//Promise {<pending>}//2//0//成功//Promise {<resolved>: undefined}
网友评论