【问题标题】:React Native - call restful API synchronouslyReact Native - 同步调用restful API
【发布时间】:2017-06-15 04:00:34
【问题描述】:

我知道 React Native 使用 JS 做事方式,即异步调用函数。所以这也适用于 API“获取”功能。但是,出于某种原因,我需要使 API“获取”同步。

这就是我想做的。该应用程序有一个项目列表。它必须遍历项目,对于每个项目,我需要构造 URL,然后根据构造的 URL 调用“获取”以获取响应(例如,如果我有 5 个项目,它将调用 API 5 次,其中每个调用的 URL 都有不同的参数)。一旦成功接收到所有列表项的响应,我就需要做其他事情,例如更新某些状态(状态取决于是否返回所有响应)。

请注意,我无法控制后端,即无法更改 URL 端以进行批量调用。

问题是,如何在 React Native 中进行同步调用?

【问题讨论】:

  • 你可能不需要同步调用api。如果您只是想在从所有 api 调用中获取数据后做某事,那么您可以使用 Promise.all() developer.mozilla.org/en/docs/Web/JavaScript/Reference/…。当所有的 Promise 都解决后,它就会解决,你会在它的 ".then()" 函数中得到一个结果数组

标签: android api react-native synchronization restful-url


【解决方案1】:

您可以使用 XMLHttpRequest 对象同步调用。

var request = new XMLHttpRequest();

request.open('GET', 'https://mywebsite.com/endpoint.php', false); // third parameter  FALSE makes Synchronous HTTP request
request.send(null);

if (request.status === 200) {
  console.log(request.responseText);
}

您将获得许多提供同步 api 调用的 npm 模块。

希望对你有帮助。

【讨论】:

  • [未处理的承诺拒绝:错误:不支持同步 http 请求]
猜你喜欢
  • 2019-01-20
  • 1970-01-01
  • 2021-12-28
  • 2023-04-10
  • 2022-01-26
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多