2016-03-28 53 views
10

在以下代码中,第一个console.log消息几乎立即打印出来。然后,一切都会暂停(我最初认为它正在等待返回的响应正文)。响应的正文只有大约26K,等待的时间似乎是无限的,除非我摇动手机并与调试菜单进行交互。只要我与调试菜单交互,承诺就会解决,并且所有事情都按照预期进行。我与调试菜单的交互可以很简单,就像隐藏检查器,显示检查器一样,只需将某个承诺分辨率转换为装备状态即可,一切正常。什么可能导致这种缓慢取回原生?

fetch(SEARCH_URL, requestBody) 
    .then((response) => {console.log(response); return response.json();}) 
    .then((responseData) => { 
     debugger 
     ... 

注: 从调试器断开和运行代码没有表现出缓慢(而不是连接到调试器忽略调试语句)

是的,我已经重新启动计算机。

可能已经发现,在https://github.com/facebook/react-native/issues/6679

+0

我遇到同样的问题。使用'react-native' v0.24.1,它只发生在Chrome调试中。我不认为这与您链接到的问题6679有关。我认为它与特定于Chrome的异步调度或setTimeout以及读取/承诺实现有关。请记住,在Chrome中进行调试时,您的RN应用程序的JS完全在浏览器中运行。有垫片和图书馆,以使两个环境表现相同。我认为这其中有一件是有问题的。这可能是一个很好的问题,在RN Facebook组织上提出。 – sstur

+0

@sstur是对的,这是因为Chrome调试。禁用chrome调试,并且您再次具有良好的性能。 – gre

+0

@gre:是的,我们可以禁用Chrome调试并重新获得良好的性能。但这完全是一个错误。最好跟踪下来,看看究竟是什么造成的,因此可以计划修复。也许GH问题适用于RN。不确定。 – sstur

回答

1

东西当你已经找到了自己,这是一个已知的bug,它should be fixed in react-native v0.31

+1

它已被承诺在0.24之后的每个版本中修复,所以不要屏住呼吸。 – boatcoder

+0

它也发生在rn39以及 –

0

什么工作对我来说是一个移动组件反应的构造函数中调用获取。否则他们永远不会解决希望这可以帮助

+1

这可能是一个评论比答案 –

1

这是一个已知的错误,当启用远程调试时,解析响应可能会严重滞后。禁用远程调试应该会加速很多。

有关详细信息和其他解决方法,您可以read the issue

相关问题