我正在开发一个新的react Native中的新应用,我需要并行对我的API进行20次获取。当我在手机差距中开发时,我可以创建20个网络工人,以平行AJAX的电话。当我在React Native中并行执行20次获取时,看起来每个提取的时间都比以前更长。就像它有一个提取的队列,并且不会将它们一起运行一样。
有什么办法解决这个问题吗?现在,在我的电话盖上应用程序中完成10秒时,完成了大约1分钟的时间?
每个主机的连接数限制为iOS中的四个。您需要在nsurlsession中增加httpmaximumconnectionsperhost。
测试此操作的丑陋方法是将以下行直接添加到node_modules/react-native/libraries/network/rcthtttprequesthandler.m:m:nsurlsessionconfiguration
[configuration setHTTPMaximumConnectionsPerHost:25];
阅读更多信息:https://developer.apple.com/documentation/foundation/nsurlsessionconfiguration/1407597-HTTPMAXMIMAX MIMAMConnectionsPerhostPerHostperHost?
您可以使用Promise.All同时运行所有承诺/提取,然后等待响应。
https://developer.mozilla.org/es/docs/web/javascript/referencia/objetos_globales/promise/promise/all