400/500 не является ошибкой, это ответ. Вы получите только исключение (отклонение), если есть сетевая проблема.
Когда сервер отвечает, вы должны проверить, является ли это хорошим или нет:
try {
let response = await fetch('not-a-real-url')
if (!response.ok) // or check for response.status
throw new Error(response.statusText);
let body = await response.text(); // or .json() or whatever
// process body
} catch (err) {
console.log(err)
}
tldr; Просто переустановите, чтобы получить новую версию d3-geo-projection.
npm install -g d3-geo-projection
Здесь есть проблема для этого: https://github.com/d3/d3-geo-projection/issues/161
И есть решение для этого на запрос на извлечение, но он еще не получил. Вы можете подождать исправления или, тем временем, вы можете просто добавить 'require' в то же место в {global-install-location} /node_modules/d3-geo-projection/package.json
[112 ] https://github.com/d3/d3-geo-projection/pull/162/commits/43105df62b784f0645cb3d4cb0b0fa98c8924c87
ОБНОВЛЕНИЕ: Это версия 2.6, просто переустановите d3-геопроекцию.