反应原生的并行提取请求

时间:2017-11-24 18:50:55

标签: javascript react-native fetch

我正在react native开发一个新应用,我需要并行20 fetches api。当我在手机间隙中发展时,我可以为20 web workers调用创建Ajax并行发生。当我在20 fetches中并行执行react native时,看起来每次获取的时间都比以前更长。就像它有一个提取队列,它不会一起运行它们。

有什么方法可以解决这个问题吗?现在,1 minute需要像phonegap app一样完成提取。10 secs 非常感谢帮助

2 个答案:

答案 0 :(得分:2)

在iOS中,每个主机的连接数限制为四个。您需要在NSURLSession中增加HTTPMaximumConnectionsPerHost。

测试此问题的丑陋方法是将以下行直接添加到node_modules / react-native / Libraries / Network / RCTHTTPRequestHandler.m: NSURLSessionConfiguration

[configuration setHTTPMaximumConnectionsPerHost:25];

了解更多:https://developer.apple.com/documentation/foundation/nsurlsessionconfiguration/1407597-httpmaximumconnectionsperhost?language=objc

答案 1 :(得分:0)

你可以使用Promise.all同时运行所有的promises / fetch,然后等待响应。

https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Promise/all