You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整fetch API调用逻辑,根据用户登录状态返回指定布尔值

调整Fetch请求返回值,直接返回布尔值匹配登录状态需求

嘿,我明白你的需求了——你希望checkLoggedInStatus()直接返回true(当登录状态是NotLoggedIn时),其他情况返回false,而不是返回原始的状态文本。现在的问题是你在函数外部的then回调里做了判断,但这个判断结果并没有成为checkLoggedInStatus()函数的返回结果。

你只需要把布尔值的判断逻辑移到fetch的then链内部,让函数直接返回处理后的布尔值即可。修改后的代码如下:

function checkLoggedInStatus() { 
  return fetch("www.MYAPI.com") 
    .then((response) => response.text()) 
    .then((result) => { 
      const data = JSON.parse(result); 
      // 直接在这里判断并返回需要的布尔值
      return data === "NotLoggedIn"; 
    }) 
    .catch((error) => {
      console.log("error", error);
      // 出错时返回默认值,避免后续处理出现undefined
      return false;
    }); 
}; 

// 调用时直接获取布尔值
checkLoggedInStatus().then(isNotLoggedIn => { 
  console.log("当前是否未登录:", isNotLoggedIn); 
  // 这里可以直接使用这个布尔值做后续逻辑
})

关键调整点:

  • 把原来返回解析后data的逻辑,改成直接返回data === "NotLoggedIn"的判断结果(这会自动生成true或false)。
  • 在catch块里添加了return false,避免请求出错时promise的返回值为undefined,确保始终返回布尔类型。

这样修改后,checkLoggedInStatus()返回的Promise就会直接解析为你需要的布尔值,不需要在外部再做额外判断啦。

内容的提问来源于stack exchange,提问作者Reena Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 16:29:08