NodeJS 18 对
fetch
https://nodejs.org/dist/latest-v18.x/docs/api/globals.html 提供了实验性支持
fetch
函数抛出FetchError
实例,我需要在try-catch
中使用instanceof
检查进行分析...不幸的是,FetchError
类没有暴露在NodeJS的全局空间中!
我知道 API 是“实验性的”,但是说真的,有没有办法访问该类?理想的答案也可以在 TypeScript 中编译 😉
附注一种解决方法是
error.name == "FetchError"
,但我仍然对课程感到好奇。为什么不曝光?
我同意没有一种简单的方法来分析错误是痛苦的。
当 fetch()
抛出时,我在 TypeScript
中做什么,并且我针对特定的代码错误(在本例中为
ENETUNREACH
):
import { FetchError } from 'node-fetch';
try {
await fetch('...');
} catch (error) {
if (error instanceof Error && (error.cause as FetchError)?.code === 'ENETUNREACH') {
...
} else {
throw error;
}
}