React Native:网络请求失败,但实际上并没有

时间:2016-09-17 17:56:32

标签: javascript android react-native fetch

我有这个简单的网络请求:

def multiadder(n):
  return Y (lambda f: lambda acc: lambda n:
    acc if n == 0 else lambda x: f (acc+x) (n-1)
  ) (0) (n)

每次执行时,我都会得到

registerDevice(data) {
    return new Promise((next, error) => {
      fetch(SERVER_URL + '/devices', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
        },
        body: JSON.stringify(data)
      })
      .then((response) => {
          return response.json()
      })
      .then((responseData) => {
          console.log(responseData);
          next(responseData);
      })
      .catch((err) => error(err));
    })
  }

虽然没有错误,但数据已成功发布,并且我获得了正确的响应标头。

RN是0.33,我正在为Android编译。 Android版本4.4.4,5.0.1,6.0.1和7.0上的错误

1 个答案:

答案 0 :(得分:0)

您可以使用ES6语法。您的代码将如下所示:

fetch(url,{method:'POST',body:data})
.then(r => r.json())
.then(data => console.log(data))
.catch(e => console.log("Booo"));

参考:https://jakearchibald.com/2015/thats-so-fetch/

==编辑==

抱歉,您可以尝试使用awaitasync。代码:

let response = await fetch(this.api_url,{
    method:'POST',
    body: data
})

let responseJson = await response.json();
return responseJson;

你能解释一下你收到的错误吗?