在下面的代码中,第一条console.log消息几乎是立即打印的。然后一切都挂起(我最初假设它在等待返回响应的主体)。Body的响应只有26K左右,等待的时间似乎是无限期的,除非,我摇晃手机,与调试菜单互动。只要我与调试菜单交互,promise就会解决,一切都按照预期进行。我与调试菜单的交互可以很简单,比如隐藏检查器,显示检查器,只需要一些东西来启动promise解决方案,一切都很好。
fetch(SEARCH_URL, requestBody)
.then((response) => {console.log(response); return response.json();})
.then((responseData) => {
debugger
...
字符串
注意:断开与调试器的连接并运行代码不会显示出速度慢(并且未连接到调试器会忽略调试器语句)
是的,我重启了电脑。
可能在https://github.com/facebook/react-native/issues/6679中找到了一些东西
4条答案
按热度按时间lqfhib0f1#
正如您自己发现的,这是一个已知的bug,应该在react-native v0.31中修复
cbeh67ev2#
当启用远程调试时,解析响应可能会严重滞后,这是一个已知的错误。禁用远程调试应该会大大加快这一速度。
您可以read the issue了解详细信息和其他变通方法。
anauzrmj3#
对我有用的是将fetch调用移动到react组件的构造函数中。否则他们永远不会解决。希望这对你有帮助
w3nuxt5m4#
有点晚了,但我最终在重新获取之前将数据数组的状态设置为空数组,因为对我来说,只有在刷新时才会慢。
字符串