📅  最后修改于: 2023-12-03 14:48:10.773000             🧑  作者: Mango
如果您在开发过程中遇到了 UnhandledPromiseRejectionWarning: TypeError: Only absolute URLs are supported
类似的错误,这篇文章将会为您提供相关的解决方案。
这个错误的原因是因为您使用了相对路径而不是绝对路径。只有绝对路径才能被正确解析。这通常发生在使用 fetch()
、Axios
等 API 构造请求时,当您传递相对URL时会引发这个错误。
要解决这个错误,您需要将相对路径转换为绝对路径。有多种方法可以实现这个目的。
URL
对象最简单的方法是使用 URL
对象来解析相对路径。然后在请求中使用 URL
的属性。
const url = new URL('/path/to/resource', 'http://example.com');
const response = await fetch(url);
resolve()
函数您也可以使用 resolve()
函数来将相对路径解析为绝对路径。
const baseUrl = 'http://example.com';
const url = new URL('/path/to/resource', baseUrl).toString();
const response = await fetch(url);
最后一个方法是直接使用绝对路径而不是相对路径。
const url = 'http://example.com/path/to/resource';
const response = await fetch(url);
UnhandledPromiseRejectionWarning: TypeError: Only absolute URLs are supported
错误通常发生在使用相对路径构造请求时,因为只有绝对路径才能被正确解析。我们可以使用 URL
对象、resolve()
函数或者直接使用绝对路径来解决这个问题。