Javascript 如何使用async/await编写.then函数,以便捕获来自axios的响应(在vue中的单独文件和方法中)

Javascript 如何使用async/await编写.then函数,以便捕获来自axios的响应(在vue中的单独文件和方法中),javascript,vue.js,async-await,axios,Javascript,Vue.js,Async Await,Axios,我的目标是从axios请求中捕获响应,该请求与.then一起工作,但我希望使用async/await,因为它是一种新方法,有很多好处。 (多次调用update方法) 如何使用async/await转换我的saveEdit方法(从update方法获取响应),以便捕获来自axios的响应 my.vue文件的方法: 。。。 saveEdit(事件、targetProperty、updateValue){ this.update(this[updateValue]) 。然后((结果)=>{ 如果(res

我的目标是从axios请求中捕获响应,该请求与.then一起工作,但我希望使用async/await,因为它是一种新方法,有很多好处。 (多次调用update方法)

如何使用async/await转换我的saveEdit方法(从update方法获取响应),以便捕获来自axios的响应

my.vue文件的方法:

。。。
saveEdit(事件、targetProperty、updateValue){
this.update(this[updateValue])
。然后((结果)=>{
如果(result.status==200){
this.fetchData()
这是cancelEdit()
}
})
}
...
My store模块的My功能: (api是axios的处理程序,我们称之为axios…)

update({commit,rootGetters},详细信息){
...
const requestUrl=`某些地址`
返回api
.补丁(
请求URL,
验证细节
)
。然后(响应=>{
返回响应
})
.catch(错误=>{
返回承诺。拒绝(错误)
})
}
其他与该问题相关的stackoverflow帖子确实回答了我的问题,因为在示例中,它们位于一个文件和一个方法中


提前感谢

您可以尝试以下方式:

update ({ commit, rootGetters }, details) {
  ...
  const requestUrl = `some adress`
  return api.patch(
      requestUrl,
      validatedDetails
    )
}
以及:


太好了,这就是我要找的。我完全忘记了try/catch(从未在实际操作中使用过)。再次感谢你,我帮了大忙
async saveEdit (event, targetProperty, updateValue) {
  try {
    const result = await this.update(this[updateValue])
    if (result.status === 200) {
      this.fetchData()
      this.cancelEdit()
    }
  } catch (error) {
    // handle api call error
  }
}