javascript - 如果失败,则调用相同的 http 请求,但使用不同的参数来获取默认数据
问题描述
如果第一个失败但使用不同的参数以返回一些默认数据,那么在 catch 中调用相同的 http 请求调用是否有意义?
var defaultData = false;
clientService.getClients(defaultData)
.then(function (res) {
//do something
}).catch(function (err) {
defaultData = true;
clientService.getClients(defaultData)
.then(function (res) {
//do something
}).catch(function (err) {
console.log(err)
});
});
或者这是一个坏方法?
解决方案
确保对return
catch 处理程序的新承诺。然后代码将正确链接并避免嵌套:
clientService.getClients({defaultData:false})
.catch(function (err) {
return clientService.getClients({defaultData: true})
}).then(function (res) {
//return something
}).catch(function (err) {
console.log(err)
//IMPORTANT re-throw err
throw err;
});
推荐阅读
- python - Pandas 将文件行读取为一列
- c# - 在视图组件或局部视图中使用表单
- spring-boot - 难以将 1 个父类与 3 个子类的 OneToOne 关系映射
- python - 将字符串编号连接到系列索引的开头
- java - 如果已经加载了 Admob 插页式广告,如何避免加载?
- elixir - 测试在具有关联的模式上工作的 elixir 控制器
- javascript - 传单和开放的街道地图停止工作?
- python - PYTHON 中的 RECURSION 使所有可能的排列不重复
- android - 为工具栏下方的 Searchview 创建的与 ListView 重叠的组件
- neo4j - 根据条件在密码中创建关系