Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 我可以对put和delete请求使用带fetch的条件吗?_If Statement_Fetch_Httprequest_Put - Fatal编程技术网

If statement 我可以对put和delete请求使用带fetch的条件吗?

If statement 我可以对put和delete请求使用带fetch的条件吗?,if-statement,fetch,httprequest,put,If Statement,Fetch,Httprequest,Put,我的代码编辑说有些地方不对劲。。。是因为我写得不好,还是因为不可能使用带有不同请求的if语句 changeLikeCardStatus(cardId, like) { return fetch(`${this._baseUrl}/cards/likes/${cardId}`, { if(like){ method: "PUT", headers: this._headers } else { me

我的代码编辑说有些地方不对劲。。。是因为我写得不好,还是因为不可能使用带有不同请求的if语句

changeLikeCardStatus(cardId, like) {
    return fetch(`${this._baseUrl}/cards/likes/${cardId}`, {
      if(like){
        method: "PUT",
        headers: this._headers
      } else {
        method: "DELETE",
        headers: this._headers
      } 
    }).then((res) =>
      res.ok
        ? res.json()
        : Promise.reject(`Error! ${res.statusText}`).catch((err) =>
            console.log(err)
          )
    );
  }``` 

不要在fetch中使用条件,而是在return语句之前应用条件,找到所需的方法并在fetch中使用该方法。在下面的代码中,我添加了一条语句,以使用三元条件获取方法名。请根据语言对其进行修改,并尝试是否正常工作

changeLikeCardStatus(cardId, like) {
methodName = like?"PUT":"DELETE";
    return fetch(`${this._baseUrl}/cards/likes/${cardId}`, {
      
        method: methodName,
        headers: this._headers
     
    }).then((res) =>
      res.ok
        ? res.json()
        : Promise.reject(`Error! ${res.statusText}`).catch((err) =>
            console.log(err)
          )
    );
  } 

谢谢这是有道理的。我很想给你投票,但我收到了这样一条信息:“谢谢你的反馈!那些声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数。”欢迎@mike。试着接受我的答案,那会更好:)比X@迈克。一旦你跨越15个名声。然后你可以投票决定答案