promise的简单封装

133 阅读1分钟

简单说下promise

  • Promise是一个构造函数,实例化出来的promise对象有then和catch等方法
  • Promise 是异步编程的一种解决方案,将异步操作以同步操作的流程表达出来,避免了层层 嵌套的回调函数,为了解决异步处理回调地狱

promise的封装分析

  • 函数返回的一定是一个promise对象
  • Promise传一个回调函数,这个函数的内容就是promise执行的内容(如:发起ajax请求),回调函数有reject、resolve两个方法作为形参
  • 一般要调用resolve,reject方法。调用resolve,promise的执行结果会指向成功,执行then里的内容;调用reject,promise的执行结果会指向失败,执行catch里的内容, resolve,reject和then,catch是因果关系

promise的简单封装

function fn(flag){
    //返回一个promise对象
    return new Promise((resolve,reject)=>{
        if(flag){
            resolve('成功执行then')
        }else{
            reject('失败执行catch')
        }
    })
}
fn(false).then(res=>{
    console.log(res);//成功执行then
}).catch(error=>{
    console.log(error);//失败执行catch
})
执行结果为‘失败执行catch