React Native 获取网络数据

Posted 我的大刀早已饥渴难耐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React Native 获取网络数据相关的知识,希望对你有一定的参考价值。

getMoviesFromApiAsync() {
    return fetch(‘http://facebook.github.io/react-native/movies.json‘)
      .then((response) => response.json())
      .then((responseJson) => {
        return responseJson.movies;
      })
      .catch((error) => {
        console.error(error);
      });
  }

你也可以在React Native应用中使用ES7标准中的async/await 语法:

  // 注意这个方法前面有async关键字
  async getMoviesFromApi() {
    try {
      // 注意这里的await语句,其所在的函数必须有async关键字声明
      let response = await fetch(‘http://facebook.github.io/react-native/movies.json‘);
      let responseJson = await response.json();
      return responseJson.movies;
    } catch(error) {
      console.error(error);
    }
  }

别忘了catch住fetch可能抛出的异常,否则出错时你可能看不到任何提示。

默认情况下,ios会阻止所有非HTTPS的请求。如果你请求的接口是http协议,那么首先需要添加一个App Transport Securty的例外,详细可参考这篇帖子

以上是关于React Native 获取网络数据的主要内容,如果未能解决你的问题,请参考以下文章

React-Native 获取设备当前网络状态 NetInfo

React Native之Fetch简单封装获取网络状态

react-native中的网络相关用法.

React Native网络编程之Fetch

网络请求失败 - React Native - android

React Native 获取 https localhost 网络请求失败