提取API响应未定义

时间:2019-07-02 21:23:48

标签: javascript fetch-api

该问题已被提出,但所有答案均无济于事。

在react native中,我正在使用以下方法进行api调用:

  getAuthToken = () => {

  SecureStore.getItemAsync('authToken')
  .then((authToken) => {
    console.log(authToken);
    fetch('https://example.com?token=' + authToken + '&order_id=5480', {
      method: 'POST',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      }
    }
)
})
.then(res => res.json())
.then(result => {
    console.log(result)
  })
.catch(error => {
    console.error(error);
})
}

在邮递员中,我可以确认这项工作: enter image description here

但是console.log(result)仍返回未定义状态。 有什么想法我做错了吗?

1 个答案:

答案 0 :(得分:2)

您的语法有些偏离,并且您的then块不属于您的fetch请求。 更新到以下内容,它应该可以工作

getAuthToken = () => {
  SecureStore.getItemAsync("authToken").then(authToken => {
    console.log(authToken);
    fetch("https://example.com?token=" + authToken + "&order_id=5480", {
      method: "POST",
      headers: {
        Accept: "application/json",
        "Content-Type": "application/json"
      }
    })
      .then(res => res.json())
      .then(result => {
        console.log(result);
      })
      .catch(error => {
        console.error(error);
      });
  });
};