“远程调试JS”在做什么?

时间:2018-10-02 08:08:52

标签: android ios react-native bundle

谁能解释使用“远程调试JS”运行该应用程序与不使用该应用程序的行为有何不同?目前,我的应用在这两种模式下的行为似乎有所不同。

具体地说,当我的应用程序处于“远程调试JS”中时,它可以触发API请求并成功获取响应。当应用不在“远程调试JS”中时,无法触发API请求?

2 个答案:

答案 0 :(得分:5)

您遇到的问题可能是由于所涉及的Javascript引擎不同所致:

  • 在设备上运行时,您的代码将在与RN应用本身捆绑在一起的JavascriptCore引擎上运行。
  • 运行远程调试器时,您的代码将在Chrome的V8引擎上运行,而不是在设备上运行。

不同的环境可能会表现不同。从此article中获取以下示例:

没有远程调试:

new Date("2017-02-12 23:51:31")
  .toLocaleDateString('en-US', { day: '2-digit', month: 'short' })  // 02/12/17

使用远程调试:

new Date("2017-02-12 23:51:31")
  .toLocaleDateString('en-US', { day: '2-digit', month: 'short' })  // Feb 12

基于这个原因,我有时更喜欢使用某些本机功能的第三方实现(例如whatwg-fetch而不是本机获取)。


资源:

答案 1 :(得分:0)

您好,如@Matei所解释,您遇到的问题可能是由于所涉及的Javascript引擎不同 就我而言,代码在调试模式下运行良好,但是一旦我退出调试模式屏幕,就会卡住

解决方案: So what worked for me was removing all the console.log from the file. So just remove all the console.log from your code and it will work like a charm.