我知道React Native使用JS的做法,即使函数调用异步。所以这也适用于API“fetch”功能。但是,出于某种原因,我需要使API“获取”同步。
这就是我想要做的。该应用程序有一个项目列表。它必须循环遍历项目,并且对于每个项目,我需要构造URL然后基于构造的URL调用“fetch”以获得响应(例如,如果我有5个项目,它将调用API 5次,其中每个被调用的URL都有不同的参数)。一旦我成功收到所有列表项的响应,那么我需要做一些其他事情,例如更新某个状态(状态取决于返回所有响应)。
请注意,我无法控制后端,即无法更改URL端以进行批量调用。
问题是,如何在React Native中进行同步调用?
答案 0 :(得分:0)
您可以使用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模块。
我希望这会对你有所帮助。