关于api的mock属性问题
来源:7-1 用户管理列表实现(上)

Tommy0714
2023-06-29
写代码测试的时候, 感觉之前request.js文件中的设置局部mock的if
条件判断不太严谨吧, 不过这个问题也就只在开发阶段出现.
问题
options.mock给config.mock赋值, 如果前一个api有写mock: true
, 而后面一个api没写mock属性, config.mock依旧为true, 所以后面一个api也会调用mock的接口.
遇到的情况
当我第一次login的时候, 接口没有问题, 退出用户再次登录时, 就有问题了
个人想到的两个解决方案
- 每个api都必须带mock属性
- 修改request文件, 去掉
if
判断, 在最后三元运算符有options.mock
用它判断, 没有的话才用config.mock
判断
写回答
1回答
-
河畔一角
2023-07-25
是的,的确有问题,代码我已经修复,从新上传:
let isMock = config.mock; if (typeof options.mock != 'undefined') { isMock = options.mock; }else{ isMock = config.mock; }
这里增加了一个 else 写法,如果mock没有定义,则获取全局的mock变量进行覆盖,这样即使上一次的mock为true,本次如果没有定义mock,会取全局配置。
10
相似问题