重复代码代有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)
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题