vue/js 关于在封装tryCatch里面执行异步接口的问题

woaibaoba
  • 121
tryCatch(method) {
      return async (...args) => {
        try {
          console.log('进') //正常情况下没进到这一步
          return await method(...args);
        } catch (error) {
          console.log('error',error) //出错了也没到这一步
          return
        }
      }
    }
this.tryCatch(editUser(data)) //editUser(data) 是请求接口方法 
//没封装的写法是 
//async complex(data){
//  try {
//        await editUser(data)
//      } catch (error) {
//        return
//      }
//}

以上是封装的tryCatch代码,执行this.tryCatch(editUser(data))后有请求接口,但是没有进入到try里,出错了也没执行到catch里,请教下大家是哪里出错了,该怎么改

在这里先谢谢各位大神们的解答了,小弟感激不尽!

回复
阅读 373
1 个回答

你这里有柯里化的意味了,试试这样的写法

this.tryCatch(editUser)(data)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏