Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何可靠地区分fetch api拒绝?_Javascript_Fetch - Fatal编程技术网

Javascript 如何可靠地区分fetch api拒绝?

Javascript 如何可靠地区分fetch api拒绝?,javascript,fetch,Javascript,Fetch,关于如何检查获取调用可能拒绝的内容,是否有明确定义的指南 我正在开发一个类似于Postman(或任何其他api浏览器)的应用程序,但没有electron外壳,这意味着我必须依赖浏览器中的可用内容。我想清楚地区分fetch拒绝时到底出了什么问题 但是浏览器似乎拒绝使用完全不同的消息,即使是最基本的消息。依赖于错误本身是一个错误或类型错误不是很有用 例如,对于我当前安装的浏览器fetching,对不存在的端点进行加密将导致 Chrome-TypeError:无法获取 Firefox-TypeErr

关于如何检查
获取
调用可能拒绝的内容,是否有明确定义的指南

我正在开发一个类似于Postman(或任何其他api浏览器)的应用程序,但没有electron外壳,这意味着我必须依赖浏览器中的可用内容。我想清楚地区分
fetch
拒绝时到底出了什么问题

但是浏览器似乎拒绝使用完全不同的消息,即使是最基本的消息。依赖于错误本身是一个
错误
类型错误
不是很有用

例如,对于我当前安装的浏览器
fetch
ing,对不存在的端点进行加密将导致

  • Chrome-
    TypeError:无法获取
  • Firefox-
    TypeError:尝试获取资源时出现NetworkError。
  • Safari-
    TypeError:Type error
在不知道可能存在哪些其他错误类型的情况下,它只是在一个全新的级别上进行duck键入

所以我的问题是:如何准确地区分错误?是否有“标准化”错误的库

我需要能够告诉用户,“您的端点不存在或网络已关闭”或“您提供了错误的头,由于这个和那个原因都是错误的”

更新 为了清楚起见,请使用代码示例:

fetch('...some url...', { /* some args */ })
  .then((response) => {
    // I'm good here, it's clearly documented
  })
  .catch((error) => {
    // How do I figure out what EXACTLY went wrong here? 
  })

这将需要更多的挖掘,但是指定了由于各种情况应该抛出什么类型的异常(您可以看到Chromium的实现)。也许在这个物体中有一些东西更精确地描述了你想要做的事情。