在 react-native@0.55 发布版本中获取 API 很慢

Posted

技术标签:

【中文标题】在 react-native@0.55 发布版本中获取 API 很慢【英文标题】:Fetch API slow in react-native@0.55 release build 【发布时间】:2019-02-09 17:03:31 【问题描述】:

我在我的 react-native 应用程序中使用 fetch 进行 API 调用。 这在开发版本中运行良好,但在发布版本中会减慢到几

问题不在于 API;一个请求大约需要 100~300 毫秒才能完成(根据 ngrok 检查员的说法)。这对于开发和发布版本都是如此。

当我记录fetch 之前和之后的时间时,有一个我无法解释的延迟。

当我在发布版本中执行 API 调用时,最简单的用例(即使是在新的 react-native@0.56 应用中)会慢下来。

console.log('start request');
const response = await fetch('http://...');
console.log('request completed');

这些日志之间的时间在 100 毫秒到 6、7 秒之间不等(非异步/等待方法也会出现同样的延迟)。

响应总是application/json,我使用response.json() 函数解压它。但是即使有"test": 123这样的响应,它仍然很慢。

我可以想象在 react-native 升级过程中做错了什么,但我不明白为什么即使在完全样板的新 react-native 应用程序中也会发生这种情况。

我们所有的测试都表明 iPod(第 6 代)存在这个问题,而不是最近的 iPhone。有没有其他人遇到过(并希望能够解决)这个问题?

【问题讨论】:

你找到答案了吗? 这种情况只发生在我这边的 android 上,并且在调试模式下速度很快。有什么想法吗? 【参考方案1】:

检查 xmlhttprequest 或使用 axios 而不是 fetch api。并在 curl 中检查此请求所花费的时间

在终端中:curl -s -w 'Total: %time_totals\n' 'https://examplerequest.com'。所以你可以找到发生了什么?

【讨论】:

以上是关于在 react-native@0.55 发布版本中获取 API 很慢的主要内容,如果未能解决你的问题,请参考以下文章

问答程序在发布版本时崩溃,在调试版本中运行良好

ActionBar在发布版本中缺少后退箭头,但没有调试版本

Facebook SDK iOS - 用户照片不会在发布版本中检索,但在调试版本中可以完美运行。 [关闭]

如何在测试设备中同时维护调试和应用商店发布版本?

XAML 解析异常 - 可以在应用程序的调试版本中找到附加属性,但在发布/安装版本中找不到

iTunesConnect - 在“预发布”中构建,但不在“版本”中