问题标签 [fetch-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何从 fetch 中获取 JSON 数据(react-native)
我正在使用 react native 为 iPhone 编写小应用程序。我正在尝试使用 fetch 从网站获取 JSON 数据。就像在示例中一样:
一切正常,但我需要稍后使用该数据。当我尝试将它分配给 json 函数中的某个变量时,我得到“请求错误”,然后(正确地)获取数据。获取该数据并将其保存在某个变量中以供以后使用的最佳实践是什么?
javascript - FETCH API 返回 [object Object]
我正在使用 FETCH API 来获取存储在 json 文件中的值。该值必须进入变量。
问题是 - 变量最终将 [object Object] 作为值。
在托管 json 文件的服务器的 htaccess 中,有一行
json如下
我认为json可能是罪魁祸首。
我找不到 [object Object] 成为变量值的原因。
我可以使用 Fetch 获取托管的文本文件吗?我试过 - 无法让它工作。- 只是想一个替代方案。
javascript - 在 React Native 中使用带有 Fetch 的授权标头
我正在尝试fetch
在 React Native 中使用从 Product Hunt API 中获取信息。我已经获得了正确的访问令牌并将其保存到状态,但似乎无法在 GET 请求的授权标头中传递它。
这是我到目前为止所拥有的:
我对代码的期望如下:
- 首先,我将
fetch
使用来自我导入的 API 模块的数据的访问令牌 - 之后,我会将 的
clientToken
属性设置this.state
为等于收到的访问令牌。 - 然后,我将运行
getPosts
它应该返回一个响应,其中包含来自 Product Hunt 的一系列当前帖子。
我能够验证正在接收访问令牌并将this.state
其作为其clientToken
属性接收。我还能够验证getPosts
正在运行。
我收到的错误如下:
{"error":"unauthorized_oauth", "error_description":"请提供有效的访问令牌。有关如何授权 api 请求,请参阅我们的 api 文档。还请确保您需要正确的范围。例如 \"private public\ " 用于访问私有端点。"}
我一直在假设我没有在我的授权标头中正确传递访问令牌,但似乎无法弄清楚究竟是为什么。
javascript - XHR 进度事件微任务队列
我想将 XHR 与 Promise 一起使用。我按照 HTML5 Rocks (1) 和 Mozilla 网站 (2) 上的建议创建了 XHR Promise。
它没有按预期工作。如果我有以下顺序来加载和处理文件:
如果我只运行 1 个序列,它会按预期工作。
如果我尝试使用 Promise.all() 运行 N 个序列来下载/处理 N 个文件,它会中断。
所有下载都以“并行”方式开始,然后一旦第一个 XHR 请求完成,它就会停止下载其他文件,运行该文件的完整序列,然后继续下载剩余文件。然后,一旦另一个文件完成,它会阻止下载,运行该文件的序列,然后继续下载等等。
这似乎是预期的行为,因为 XHR 进度事件被抛出主任务队列并且承诺正在使用微任务队列。
是否有意义?
如果我使用“获取”API 而不是 XHR,但无法监控下载进度,它似乎可以按预期工作,这对我来说是一个交易破坏者。
有没有解决这个问题的好方法?
(1) http://www.html5rocks.com/en/tutorials/es6/promises/
(2) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
react-native - React Native fetch 不是一个函数
我正在尝试将本机反应用于一个简单的应用程序。我想从页面下载一个 json 数组并将其显示为列表视图。我正在做这个
但是这样做我fetch is not a function
从 Chrome 调试器中得到了错误。我以这种方式获取var fetch = require("fetch");
typescript - 如何扩展“Window”打字稿界面
在我的示例中,我正在尝试扩展 TS Window 接口以包含用于fetch
. 为什么不重要。问题是“我如何告诉 TS 这window.fetch
是一个有效的函数? ”
我在运行 TS v.1.5 (IIRC) 的 VS Code v.0.3.0 中执行此操作。
在我想要使用的 TS 类文件中声明接口不起作用:
但是如果我在一个单独的“.d.ts”文件中声明这个相同的接口并在我的 TS 类文件中引用它就可以了。
这是“打字/window.extend.d.ts”
现在我可以在我的 TS 类文件中使用它:
或者,我可以在我的 TS 类文件中编写一个具有另一个名称的扩展接口,然后在强制转换中使用它:
为什么扩展接口在“d.ts”中工作而不是原位?
我真的必须经历这些回旋吗?
javascript - 如何取消 HTTP fetch() 请求?
有一个用于从 JavaScript 发出请求的新 API fetch()
:. 是否有任何内置机制可以在运行中取消这些请求?
http - 在 react-native 中使用 fetch polyfill 将数据作为键值对发送
以下代码是使用 fetch polyfill 发出 HTTP POST 请求:
此请求将数据作为字符串化 JSON obj 发送。有没有办法将数据作为类似于请求的键值对发送?在 python 中发布(URL,数据=有效负载)。
javascript - 如何链接原生 Javascript Promise?
我已经阅读了所有可以想象到的关于 JS 承诺的文章,但我仍然无法弄清楚它们。我正在尝试使用承诺来管理多个 XMLHTTPRequest。eg: 当xhr 请求1 & 2 完成时,调用这个函数。
示例代码:
在这种情况下,我将如何将每个函数调用包装在一个 Promise 对象中,以便我可以控制它们何时被调用?
javascript - 获取 API 缓存模式
根据规范,fetch api 有多种缓存模式。(“default”、“no-store”、“reload”、“no-cache”、“force-cache”和“only-if-cached”)但是,尚不清楚每种模式的用途,或者浏览器支持的状态。