当 json 解析空响应时 Whatwg Fetch 失败,如何防止它?

2024-02-27

我在前端和后端(NodeJS)都使用 Fetch API,在将响应解析为 json 时,我经常遇到一个问题。

response.json()将返回一个承诺,所以我事先不知道响应的正文是什么,当正文为空时,JSON 解析将失败并出现错误:

SyntaxError: Unexpected end of input

所以我的问题是,如何防止解析空响应?

Thanks


一旦你拥有了Response对象,检查标题并查看内容Content-Length说。基于此你可以知道是否有东西需要解析。而且,服务器返回一个似乎是假的application/json资源为空,因为它不是 JSON。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当 json 解析空响应时 Whatwg Fetch 失败,如何防止它? 的相关文章

随机推荐

  • 离线时不会调用 Firebase onDataChange

    关于 Firebase ValueEventListener 我遇到了一个非常奇怪的情况 当手机连接到互联网时 它可以正常工作 但是当它离线时 它不会调用onDataChange 这段代码即使在离线状态下也能很好地工作 mDatabase
  • 我可以在 Typescript 方法装饰器中访问目标类实例吗?

    我正在 Typescript 中创建一个 WebSocket 服务器 其中不同的应用程序组件应该能够注册自己的请求处理程序 有一个单例WebsocketHandler提供了这种行为 如果没有装饰器 类可以像这样注册其请求处理程序 class
  • AdMob 广告未显示在模拟器中

    我正在我的应用程序中集成 AdMob 广告 我正在模拟器中运行 y 应用程序 并且在 admob 中我已将设备 ID 设置为模拟器 但即使在广告没有显示在模拟器中之后 下面是我的代码 XML
  • 在 Windows 上为 Haskell 安装 SDL (GHC)

    背景 我一直在使用光泽库进行一些简单的图表工作 但当需要更具交互性的东西时 我发现我需要一个更强大的库 经过一些研究后 我决定我喜欢 SDL 库的功能 并想尝试为其安装 Haskell 绑定 到目前为止我还没有成功 Part 1 如何安装和
  • hg revert 和 hg backout 之间有什么区别?

    Both hg revert and hg backout恢复先前修订版所做的更改 两者有什么区别 鉴于变更集的历史 A B C D E bad hg revert r B 保持当前版本 但更新工作目录 截至修订版B 它具有撤销更改的补丁的
  • iOS:全页插页式广告关闭后显示黑屏

    我用此代码显示全屏广告 它可以显示全页广告 问题是 当我关闭广告时 我只有一个空白屏幕 它不再显示我的应用程序 My code void showFullScreenAd if requestingAd NO interstitial AD
  • 谷歌地图意外地重置相机缩小

    我有基于谷歌地图的应用程序 允许用户查看标记 我遇到的问题是 当我放大以查看地图上的所有标记时 几秒钟后地图将重置为原始缩放级别 并且我无法查看所有标记 我希望地图保持在用户缩放级别 但我无法想出逻辑 这是我的代码 Override pro
  • Java/Swing:从另一个类引用组件

    我有一个 Swing GUI 使用 Netbeans GUI Builder 构建 有一个标签 我可以使用箭头键来移动它 按空格键调用另一个类 我如何从此类访问标签 例如得到职位 预先感谢您的帮助 第二类的示例代码 public class
  • 如何指定API版本?

    根据Azure DevOps 服务 REST API 参考 https learn microsoft com en us rest api azure devops view azure devops rest 4 1 请求 URI 的格
  • javascript getDate getMonth 返回错误的月份[重复]

    这个问题在这里已经有答案了 我知道还有其他关于此的帖子 但我无法弄清楚我在这里做错了什么 下面是我的代码 var d new Date var month d getMonth System log d System log month 我
  • javascript 中的 wget 相当于从给定 url 下载文件的功能是什么?

    wget http www example com file doc http www example com file doc 将该文件下载到本地磁盘 在 javascript 中 上面的等价物是什么 例如 考虑以下 html 片段
  • 在 Objective C 中将对象添加到 NSMutableArray 时遇到问题

    我正在使用 iPhone SDK 但在执行一些简单操作时遇到问题 我正在尝试添加一个NSNumber反对NSMutableArray实例变量 我尝试添加 NSNumbercard到 NSMutableArray已查看的卡片数组 但是如果不破
  • 如何点击外部关闭这个菜单?

    我有这个菜单 CSS message display none position absolute width 120px background fff color 000 font weight bold 当我点击它时 它会打开 mess
  • Twitter 引导程序预先输入多个值?

    我正在使用 Twitter Bootstrap 和 Jquery 我想使用预先输入文本区域的函数 我可以非常轻松地使用它 但我也需要它允许多项选择 我的意思是 当我从自动完成中选择一个单词后 它会将我带回文本区域 然后再添加一个空格 然后如
  • crt0.o 和 crt1.o -- 有什么区别?

    最近我一直在尝试调试一些低级工作 但找不到crt0 S对于编译器 avr gcc https linux die net man 1 avr gcc 但我确实找到了crt1 S 与相应的 o files 这两个文件有什么区别 是crt1完全
  • Quasar:使用q-file选取图像时如何显示图像?

    Quasar 和 Vue 的新手 我正在使用 q file 它允许选择文件并拖放文件 但是 如何显示预览图像 Q uploader 似乎可以工作 但我如何更改它的用户界面 来自 Quasar 的组件链接 https quasar dev v
  • Haskell 使用数据构造函数过滤嵌套列表

    假设我有以下数据类型 data Number Positive Integer Negative Integer deriving Eq Show 我有一个函数定义 请注意 我无法更改此定义 或以任何方式解决它 我必须使用嵌套列表并以某种方
  • set_error_handler函数不调用自动加载

    我有set error handler 函数设置为在出现错误时调用函数 在该函数中 我有自己的异常类实现 function acs error handler errno errstr errfile errline throw new a
  • android中找不到文件异常

    我在java中使用加密并在php中执行解密 现在 当我将加密参数传递给 url 时 我没有得到正确的响应 这是我的安卓代码 public static InputStream multipartPOST String urlStr Hash
  • 当 json 解析空响应时 Whatwg Fetch 失败,如何防止它?

    我在前端和后端 NodeJS 都使用 Fetch API 在将响应解析为 json 时 我经常遇到一个问题 response json 将返回一个承诺 所以我事先不知道响应的正文是什么 当正文为空时 JSON 解析将失败并出现错误 Synt