我可以在尝试预加载 XHR 数据时添加自定义标头吗?

Ayu*_*ush 8 html javascript xmlhttprequest fetch preload

我正在从 JS 代码中触发 XHR。这个阻止渲染的 XHR 在每次页面加载时都会触发,所以我想在页面生命周期的早期与 JS 和 CSS 资源并行获取它。在 my 中index.html,我将添加以下代码:

<head>
  <link rel="stylesheet" href="style.css">
  <link rel="preload" as="fetch" href="/xhr-to-be-fetched-early">
</head>
Run Code Online (Sandbox Code Playgroud)

XHR 请求需要一些自定义标头,例如authorization& Accept。有什么方法可以将这些标题添加到link标签中,无论是在 HTML 本身内部还是通过 JS?或者不可能缓存这样的请求?

div*_*mon 8

您无法真正向<link>标签添加标题,但您可以阻止页面加载任何内容,直到获取资源。

看到这样的事情:

const promiseOfSomeData = fetch("URL.com", { 
    // This is where you set the headers
    headers: {
        'X-My-Cool-Header': 'here'
    }
}).then(data => {
    return data;
});
window.onload = async () => {
    let someData = await promiseOfSomeJsonData;
    console.log(someData)
};
Run Code Online (Sandbox Code Playgroud)

如何让“加载”等待“获取”完成?