重复代码代有resolve怎么合并呢?

function request(){
  return new promise((resolve, reject)=>{
      anquan.request(data,res=>{
      switch(res.data.responseCode)
      //多个判断
      ...
      default:
        resolve(data)
      },error=>{
            anquan.request(data,res=>{
              switch(res.data.responseCode)
              //多个判断
              ...
              default:
                resolve(data)
              },error=>{
                uni.request(data,success(res)=>{
                    switch(res.data.responseCode)
                    //多个判断
                    ...
                    default:
                      resolve(data)
                    },fail: res => {
                          reject(res);
                      })
                })
        })
  })
}

这个三个 switch 的内容可以写为一个函数,传参就可以运行,但是 resolve 不在 promise 里面出现报错,这个怎么实现呢,现在就是代码这样子

阅读 1.4k
1 个回答

封装函数时 传一个回调函数

//调用
func(res.data,resolve)

//函数
function func(data,callback){
   switch(data.responseCode)
      //多个判断
      default:
        callback(data)
}
推荐问题