我可以对放置和删除请求使用带提取的条件吗?

Can I use a conditional with fetch for both a put and delete request?

我的代码编辑器说出了点问题...是因为我写得不好还是不可能有不同请求的 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)
          )
    );
  }