Axios 是否支持与本机 fetch() 相同的“keepalive”功能?

Ark*_*nko 12 javascript browser fetch axios

Axios 可以配置为在浏览器页面关闭后保持请求活动吗?Native fetch() 接受keepalive标志来启用此功能,但我在 Axios 文档中没有找到任何类似的功能。

keepalive keepalive 选项可用于允许请求比页面存活时间更长。使用 keepalive 标志获取是 Navigator.sendBeacon() API 的替代品。

https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters

cpp*_*ick 8

是的,如果您创建自己的 axios 实例,则可以使用 axios 执行此操作。

const instance = axios.create({
  baseURL: 'https://some-domain.com/api/',
  timeout: 1000,
  headers: {'X-Custom-Header': 'foobar'},
  httpAgent: new http.Agent({ keepAlive: true }),
});
Run Code Online (Sandbox Code Playgroud)

Axios文档可以为您提供更多指导。

  • 感谢您的回复,但看起来我们在这里讨论的是不同的事情。Axios `keepAlive` 定义了一个自定义代理,在 NodeJS 中执行 http 和 https 请求时使用,而我正在询问本机 `fetch()` 的 `keepalive` 功能,该功能允许浏览器即使在页面关闭时也能完成请求。 (3认同)