Vue.js VueJS-长时间运行API调用的拦截器

Vue.js VueJS-长时间运行API调用的拦截器,vue.js,axios,Vue.js,Axios,我使用vuejs和axios从外部API获取信息 当我发送POST请求时,这个API需要一个拦截器来发送身份验证令牌 我创建了一个API.js文件,其中包含以下代码: import axios from 'axios'; import Vue from 'vue' const instance = axios.create({ baseURL: 'http://localhost:8004/' }) instance.interceptors.request.use((config)

我使用vuejs和axios从外部API获取信息

当我发送POST请求时,这个API需要一个拦截器来发送身份验证令牌

我创建了一个API.js文件,其中包含以下代码:

import axios from 'axios';
import Vue from 'vue'

const instance = axios.create({
    baseURL: 'http://localhost:8004/'
})

instance.interceptors.request.use((config) => {
    const token = Vue.prototype.$keycloak.token;
    if (token) {
        config.headers.Authorization = `Bearer ${token}`
    }
    return config
}, (err) => {
    return Promise.reject(err)
})

export default instance
当我发送请求时,一切正常:

import API from '../api'
API.post(/intents/)
到目前为止还不错。但是,此请求是一个长时间运行的调用,这意味着:

  • 客户端应用程序发送HTTP请求以触发 长期运行操作-这通常仅限于 执行某种状态更新的操作,即POST或PUT 请求

  • 响应将返回HTTP 202接受状态,表示 请求已排队等待处理

  • 响应还将包括一个位置HTTP头,指定 状态终结点的URI

  • 客户端应用程序将轮询状态端点以检索 操作状态(等待、运行、成功、失败等)

  • 一旦操作完成,状态端点通常将 返回另一个位置HTTP头,指定 结果资源(即已创建/更新的资源)

  • 客户端应用程序向该URI发出请求以检索 资源

  • 在这种情况下,我需要在Axios interceptor/helper函数中添加,以便发出HTTP请求的任何代码都将自动遵循上述步骤


    我应该在哪里包含此代码?在同一个文件API.js?

    中,您可以将轮询逻辑放入API.jsHi@ridhesh中,谢谢您的回复。我注意到它使用异步。为了将这个轮询逻辑添加到响应拦截器中,我应该从异步函数(response)开始吗?on:axios.interceptors.response.use(异步函数(response){return response;}是的,我想是这样