React Native Fetch将不会执行

时间:2017-03-07 07:26:52

标签: javascript android api react-native fetch

我花了几个小时试图弄清楚如何使用fetch查询API,但我似乎无法获得执行fetch命令。

我对Javascript很新,所以希望有人可以指出一些愚蠢的错误,因为我甚至无法通过使用fetch的第一步。

这是我无法工作的非常小的代码片段。

var req = new Request('http://myapp.com:8000/api/posts', {method: 'GET'});
console.log("1");
fetch(req).then(function(res) {
    console.log("2");
    return res.json();
    })
console.log("3"); 

控制台每次都会记录“1”和“3”,但“2”从未记录过。

有谁知道发生了什么事?

此外,我正在向本地运行的django服务器发送获取请求,并且在监视服务器时,当我运行react-native应用程序时,甚至没有向服务器发出请求。

3 个答案:

答案 0 :(得分:0)

尝试直接使用fetch,看看它是如何在Networking页面上完成的:

var url = 'http://myapp.com:8000/api/posts';
console.log("1");
fetch(url).then(function(res) {
    console.log("2");
    return res.json();
    })
console.log("3"); 

答案 1 :(得分:0)

这是您可以获取数据的另一种方式

 fetch("http://date.jsontest.com/")
 console.log("1");
  .then((response) => response.json())

  .then((responseData) => {
    console.log("2");
    this.setState({date: responseData.date});
  })
  .done();
}

答案 2 :(得分:0)

尝试添加一个catch以检查是否有任何错误。

fetch(url).then(function(res) {
    console.log("2");
    return res.json();
}).catch((error) => {
 console.error(error);
});