【发布时间】:2021-11-07 21:19:48
【问题描述】:
我正在编写一个 Web 扩展,它尝试从基于会话的 API 中并行获取页面。 API 使用 cookie 来存储会话信息。因此,以下命令序列将起作用:
// Fetch sequence 1
await fetch("https://url.endpoint/start_session");
const usefulData1 = await fetch("https://url.endpoint/navigate_to_X",
{ credentials: "include" });
// Fetch sequence 2
await fetch("https://url.endpoint/start_session");
const usefulData2 = await fetch("https://url.endpoint/navigate_to_Y",
{ credentials: "include" });
我想并行运行 Fetch 序列 1 和 Fetch 序列 2。问题是,每次我访问 https://url.endpoint/start_session 时,我都会收到一组新的 cookie,并且所有带有 { credentials: "include" } 的 fetch 请求都使用当前设置的 cookie(当 start_session 返回时会被覆盖)。
我的问题是:有没有办法设置多个“会话”,以便这些请求可以与它们自己的 cookie 并行运行?还是有其他解决方法? (看来fetch api 不允许您手动获取或设置Set-Cookie 标头...)
【问题讨论】:
标签: javascript fetch session-cookies