gpt4 book ai didi

javascript - 使用响应状态以外的 API 确认成功

转载 作者:行者123 更新时间:2023-12-05 00:32:25 27 4
gpt4 key购买 nike

所以我对行业标准的实现感到困惑。我觉得这是我现在做的一种hacky方式
我想在出现实际错误时显示错误消息,并在服务器返回不成功状态时显示失败消息
这里的问题是,当 assignUser() 上存在实际错误时,它会返回错误并且这不会触发第一个函数的 catch,因此它由 else 语句处理,并在实际错误时显示失败消息.
我尝试在 assignUser() 的捕获中使用 throw new Error("error) 但同样的问题。
我的第二个担忧是关于 (200 >= status <300)除了检查可以是 200、204 ...的状态之外,是否有更简单的方法来检查操作是否成功?

  try {
let status = assignUser(user);
if (status >= 200 && status < 300) {
notify.show("message success");
} else {
notify.show("message failure");
}
} catch (e) {
notify.show("message error");
}


export async function assignUser(user) {
try {......
return resp.status;
} catch (e) {
return e;
}
}

最佳答案

我假设 assignUser 函数正在使用 fetch 进行 api 调用。因此,如果您不使用 then catch 方法来解决 promise ,那么 assignUser 函数必须是异步函数。

async function assignUser(user) {
try {
const jsonRes = await fetch(url);
if(!jsonRes.ok) {
notify.show("message failure");
} else {
notify.show("message success");
const result = await jsonRes.json();
return result;
}
} catch (e) {
notify.show("message error");
}
}
在这里您不需要其他功能来检查状态和所有
而不是检查状态代码,您可以使用 response.ok 属性。
希望这可以帮助
谢谢

关于javascript - 使用响应状态以外的 API 确认成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71891618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com