首页 > 解决方案 > 响应对象在响应函数中未正确呈现

问题描述

所以我已经完全理解了这个基本的 JAMstack 前提,但我对 Response 函数的工作原理有点困惑。据我所知,一个 fetch 返回一个 Promise,它被解析为一个对象,该 Response 应该正确读取/呈现到 HTML 页面中,但是在尝试这样做时,我只将 [Object object] 呈现给我的浏览器.

当我尝试使用响应对象本身(通过 console.log())时,我得到一个如下所示的对象:

{ cf: [accessor cf], webSocket: [accessor webSocket], url: [accessor url], redirected: [accessor redirected], ok: [accessor ok], … }

我们应该如何将响应对象呈现为有效的 HTML 页面?

谢谢你。

标签: javascriptweb

解决方案


没关系,我想通了。fetch() 返回一个响应对象(在 Promise 中),可以使用各种函数对其进行操作,所有这些函数都是异步的。要返回 HTML,只需使用 text() 函数,但它也是异步的(它返回一个 Promise),因此在这样做之前使用 await 将为您提供所需的 HTML(如果这是您想要的)。

同样,如果您正在构建 API,您也可以从响应对象中检索 JSON。

都在这里: https ://developer.mozilla.org/en-US/docs/Web/API/Response


推荐阅读