React-Native Fetch +在iOS Simulator中解析JSON爬网,但在远程调试中即时

原子的

我正在运行React Native应用v56。在根级组件的主要构造函数中,我对本地服务器进行了fetch()调用,如下所示:

  getStatus = () => {

    let url = this.getEnvUrl();

    return fetch(url)
      .then(res => (_.get(res, 'status', 500) == 200)
        ? res : Promise.reject('Fetch had a non-200 response.'))
      .then(res => res.json() )
      .catch(err => Promise.reject(err));
  }

当我在iOS模拟器中运行此代码时,res.json()在解决之前会挂起10-15分钟(或更长时间)。当我的计算机开始耗尽Macbook的资源时,它开始“抬起”。

相反,如果我打开远程调试,它将几乎立即运行response.json()。如果我改为运行response.text(),它也是立即的。

我想知道模拟器是否存在此问题,并且通过启用远程调试,JS实际上正在浏览器中运行,从而更有效地运行或具有更多资源?我的API的json是相对嵌套的,但是在PRODUCTION,Chrome或iPhone上的Safari中运行时,对于更大的请求,我没有遇到问题。

当我环顾四周时,我看到了一些较旧的问题,其中启用远程调试会导致.json()降低性能,但问题却恰恰相反:当我没有进行远程调试时,它会吞噬我的机器,并为之烦恼感觉好像要解决一个半小时。

我的版本是:-React 16.3.1-React Native:0.55.4-节点:9.1.0

有人在这里有想法吗?

ever

除了上面发布的代码之外,还有许多console.log条目吗?有时,iOS可能会陷入困境。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章