【问题标题】:'fetch' Response.status and Response.ok, are they supported on mobile browsers?'fetch' Response.status 和 Response.ok,移动浏览器是否支持它们?
【发布时间】:2020-11-24 22:42:02
【问题描述】:

假设以下 sn-p:

  fetch('someurl')
    .then(response => {
      if (response.status !== 200) {
        throw new Error('failed');
      }
    });

查看“我可以使用”:https://caniuse.com/#feat=mdn-api_response_status 和 MDN:https://developer.mozilla.org/en-US/docs/Web/API/Response/status 都注意到这些(.ok 也是)在 chrome 和 iOS 等移动浏览器上不受支持。

这真的是真的吗?

另一方面,我会假设所有浏览器(不包括 IE)都完全支持 fetch 规范。那么我在这里错过了什么?

【问题讨论】:

  • 我很难相信浏览器可以在没有完整的Response API 的情况下实现fetch API。这当然是可能的,但似乎不太可能。看看version history of the data,可能只是过时了。无论如何,如果您可以访问这些浏览器之一,请自己尝试一下,file a bug report!
  • 我已经测试过(在移动 chrome 上),它按预期工作。尽管如此,相互矛盾的文件仍然令人担忧。所以我希望有人能够澄清它。

标签: javascript cross-browser fetch-api


【解决方案1】:

是的,就是这样。更具体地查看支持:

许多移动浏览器不支持.ok.status

请参阅:https://developer.mozilla.org/en-US/docs/Web/API/Response/statushttps://developer.mozilla.org/en-US/docs/Web/API/Response/ok

这可能是因为这些功能仍被列为“实验性”。

(作为一名 JS 开发人员,我其实也很惊讶地了解到这一点)

【讨论】:

  • 您链接的两个页面仅显示来自 OP 链接的同一来源的数据。您还有其他证据支持这些说法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-01
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多