Javascript 使用if(response.status==201)是否有一种硬编码较少的替代方法?

Javascript 使用if(response.status==201)是否有一种硬编码较少的替代方法?,javascript,fetch,response,http-status-codes,Javascript,Fetch,Response,Http Status Codes,我正在使用fetchapi为我的应用程序检索一些外部数据。这是我的密码: fetch("http://127.0.0.1:8000/dictionary/define", { method: "POST", body: JSON.stringify(values), }) .then(response => { if (response.status === 201) router.push("/

我正在使用fetchapi为我的应用程序检索一些外部数据。这是我的密码:

  fetch("http://127.0.0.1:8000/dictionary/define", {
    method: "POST",
    body: JSON.stringify(values),
  })
    .then(response => {
      if (response.status === 201) router.push("/");
    })
    .catch(error => alert(error));

我想知道是否有一个更干净/不难编码的替代方案,如果我的回答“状态==201”条件,表明一切顺利。

< P>我会认为这段代码非常好。您正在寻找201响应,所以您可以这样做

如果您只是在寻找一个成功的响应,请使用response.ok

<> P>我只想对现有代码进行清理,把所有的响应状态代码存储在一个常数中,这样它就可以更人性化了。 大概是这样的:

export const HttpStatusCodes = Object.freeze({
  Created: 201,
});

那么你可以做响应。状态==HTTPSTATUS代码。相反,这对我来说要容易得多。

< P>我会认为这个代码非常好。您正在寻找201响应,所以您可以这样做

如果您只是在寻找一个成功的响应,请使用response.ok

<> P>我只想对现有代码进行清理,把所有的响应状态代码存储在一个常数中,这样它就可以更人性化了。 大概是这样的:

export const HttpStatusCodes = Object.freeze({
  Created: 201,
});

然后你可以做response.status===HttpStatusCodes.Created,这对我来说更简单。

我认为这更简洁明了,你在一行中完成逻辑,检查201状态并重定向它,这是非常好的选择。你准备好了,伙计:

我认为这更简洁明了,你在一行中做你的逻辑,检查你的201状态并重定向它,所以这是非常好的竖起大拇指。很好,可以进行匹配:

响应接口的ok只读属性包含一个布尔值,说明响应状态是否在200-299范围内成功

e.g. var myOK = response.ok;

// refactor with response.ok
fetch("http://127.0.0.1:8000/dictionary/define", {
    method: "POST",
    body: JSON.stringify(values),
  })
    .then(response => {
      if (response.ok) router.push("/");
    })
    .catch(error => alert(error));
这里有参考链接


如果您仍然不需要特定的状态代码本身,并且只需要成功,这将非常适合您的用例。无论状态代码是什么,都可以检测请求是否成功

响应接口的ok只读属性包含一个布尔值,说明响应状态是否在200-299范围内

e.g. var myOK = response.ok;

// refactor with response.ok
fetch("http://127.0.0.1:8000/dictionary/define", {
    method: "POST",
    body: JSON.stringify(values),
  })
    .then(response => {
      if (response.ok) router.push("/");
    })
    .catch(error => alert(error));
这里有参考链接


如果您仍然不需要特定的状态代码本身,并且只需要成功,这将非常适合您的用例。无论状态代码是什么,您都可以检测请求是否成功

如果您知道响应成功且状态代码在200到299之间,您可以使用response。确定:


如果您明确需要201状态代码,则没有此类快捷方式,您需要检查所演示的状态。

如果您知道响应成功且状态代码在200到299之间,则可以使用response。确定:


如果您明确要求使用201状态代码,则不存在此类快捷方式,您需要检查所示的状态。

有响应。确定,但如果您需要以独占方式允许201,则这不起作用。在这种情况下,我会假设您的代码将尽可能干净。您的意思是,如果我需要使用response来区分,比如说,200和201。ok不允许我区分这两个?确切地说,response.ok会告诉您状态代码在200-299之间。什么是干净的?你收到的任何答案都将是对“干净”一词的含义以及它的含义的意见。有回应。好的,但如果你需要允许,那就不起作用了。在这种情况下,我会假设您的代码将尽可能干净。您的意思是,如果我需要使用response来区分,比如说,200和201。ok不允许我区分这两个?确切地说,response.ok会告诉您状态代码在200-299之间。什么是干净的?你收到的任何答案都将是对“干净”一词的含义及其含义的看法。