我得到了一些问题,try ,捕捉从服务器抛出的数据使用等待.

例如

脚本A

try{
  let a = await get_user_data()
}
catch(err){
  console.log(err)
}

B脚本B脚本

try{
  let b = await get_something()
}
catch(err){
  console.log(err)
}

让我们来看看我们有一个这样的代码来获取用户数据,另一个脚本来从服务器获取一些东西. 如果用户令牌过期,两个脚本将得到401错误(需要登录),如果不执行任何操作,它将以它结束.

所以我的问题是.我必须在每个脚本上编写所有代码才能执行某些操作吗?例如,如果error.响应.状态是401,则转到登录页面;如果错误.响应.状态是500,请执行以下操作... 有没有更好的方法来知道App(.svelte)中发生了错误?或者像全局错误变量这样的变量?

推荐答案

首先,你不必使用试接球.但实现错误处理是有意义的.如果您对每个API调用都有一个Try Catch,我会采取一种不同的方法.我会编写一个执行XHR的函数.您只需向函数提供端点、方法和数据.在此方法中,您可以执行一次错误处理.这样,您就可以通过一个错误处理将所有XHR调用集中在一个位置.

Javascript相关问答推荐

为什么从liveWire info js代码传递数组我出现错误?

我不知道为什么setwritten包装promise 不能像我预期的那样工作

如何修复(或忽略)HTML模板中的TypeScript错误?'

在grafana情节,避免冲突的情节和传说

Promise Chain中的第二个useState不更新

html + java script!需要帮助来了解为什么我得到(无效的用户名或密码)

Regex结果包含额外的match/group,只带一个返回

Chart.js-显示值应该在其中的引用区域

使用Java脚本导入gltf场景并创建边界框

如何在文本字段中输入变量?

如何在Node.js中排除导出的JS文件

react -原生向量-图标笔划宽度

通过跳过某些元素的对象进行映射

MongoDB中的嵌套搜索

重新呈现-react -筛选数据过多

在Java脚本中构建接口的对象

Played link-Initialize.js永远显示加载符号

Reaction-在同一页内滚动导航(下拉菜单)

Html/JS:如何在脚本执行前阻止呈现?

在openstreemap/leaflet中,当鼠标在 map 上移动时,如何在小工具提示中实时显示坐标