反应原生的并行提取请求

Dor*_*orR 5 javascript fetch react-native

我正在开发一个新的应用程序react native,我需要20 fetches与我api并行.当我在电话空隙发达,我可以创建20 web workers用于Ajax调用发生平行.当我20 fetches并行执行时react native,看起来每次获取的时间都比以前长.就像它有一个提取队列,它不会一起运行它们.

有什么方法可以解决这个问题吗?现在它需要1 minute完成提取,当我在phonegap app它需要10 secs..帮助将非常感激

小智 5

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

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

[configuration setHTTPMaximumConnectionsPerHost:25];
Run Code Online (Sandbox Code Playgroud)

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


sfr*_*ini -1

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

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