温馨提示:本文翻译自stackoverflow.com,查看原文请点击:javascript - Proper Way to Make API Fetch 'POST' with Async/Await
fetch javascript post reactjs

javascript - 使API通过Async / Await提取“ POST”的正确方法

发布于 2020-03-27 10:21:59

我正在做一个需要我向API发出请求的项目。用Async / Await发出POST请求的正确形式是什么?

举例来说,这是我获取所有设备列表的信息。我将如何将此请求更改为POST以创建新设备?我知道我必须添加带有数据正文的标头。

getDevices = async () => {
  const location = window.location.hostname;
  const response = await fetch(
    `http://${location}:9000/api/sensors/`
  );
  const data = await response.json();
  if (response.status !== 200) throw Error(data.message);
  return data;
};

查看更多

查看更多

提问者
Nik Ackermann
被浏览
288
Prince Hernandez 2019-08-11 07:12

实际上,您的代码可以像这样进行改进:

要发表文章,只需在获取调用的设置上添加方法。

getDevices = async () => {
    const location = window.location.hostname;
    const settings = {
        method: 'POST',
        headers: {
            Accept: 'application/json',
            'Content-Type': 'application/json',
        }
    };
    try {
        const fetchResponse = await fetch(`http://${location}:9000/api/sensors/`, settings);
        const data = await fetchResponse.json();
        return data;
    } catch (e) {
        return e;
    }    

}