什么是"远程调试JS"呢?

Isa*_*aac 1 android bundle ios react-native

任何人都可以解释用"Debug JS Remotely"运行应用程序的行为与没有它的行为有何不同?目前,我的应用程序似乎在这两种模式之间表现不同.

具体来说,当我的应用程序处于"远程调试JS"时,它可以激活API请求并成功获得响应.当应用程序不在"远程调试JS"时,它无法触发API请求?

Mat*_*adu 5

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

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

不同的环境可能表现不同.请参阅本文中的以下示例:

没有远程调试:

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

通过远程调试:

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

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


资源: