[英]jquery ajaxComplete equivalent in axios
开始学习 axios,我很喜欢!
快速提问,找不到答案,也许没有。
在 jQuery ajax 中有一个叫做 ajaxComplete 的方法,我在想 axios 中是否有一个等效的方法?
axios 使用承诺。 您可以使用
axios.get(url,[options]).then(res=>{
/* hande it here */
})
如果您没有基本知识,请查看 js promises 的工作原理https://web.dev/promises/
对于全局处理 axios 事件,这可能有助于https://auralinna.blog/post/2019/global-http-request-and-response-handling-with-the-axios-interceptor/
不,那里没有。 jQuery 的$.ajax
有一个 function 构建,它在请求完成时触发一个事件。 这是ajaxComplete
事件。
Axios 没有这样的行为,但您可以使用CustomEvent
接口构建自己的行为。 或者 / 并假设document
上有一个方法axiosSuccess
并调用它。
const axiosGet = async url => {
try {
const response = await axios.get(url)
const axiosSuccessEvent = new CustomEvent('axiossuccess', {
detail: { url, response }
})
document.dispatchEvent(axiosSuccessEvent)
if (typeof document.axiosSuccess === 'function') {
document.axiosSuccess({ url, response })
}
return response
} catch (error) {
console.log(error)
}
}
然后在文档上监听你自己的事件。
document.addEventListener('axiossuccess', event => {
const { detail } = event
const { url, response } = detail
console.log(url, response)
})
document.axiosSuccess = ({ url, response }) => {
console.log(url, response)
}
axiosGet('https://stackoverflow.com/questions/63998921/')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.