请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于api的mock属性问题

写代码测试的时候, 感觉之前request.js文件中的设置局部mock的if条件判断不太严谨吧, 不过这个问题也就只在开发阶段出现.

问题

options.mock给config.mock赋值, 如果前一个api有写mock: true, 而后面一个api没写mock属性, config.mock依旧为true, 所以后面一个api也会调用mock的接口.

遇到的情况

当我第一次login的时候, 接口没有问题, 退出用户再次登录时, 就有问题了

个人想到的两个解决方案

  1. 每个api都必须带mock属性
  2. 修改request文件, 去掉if判断, 在最后三元运算符有options.mock用它判断, 没有的话才用config.mock判断

图片描述

图片描述

正在回答 回答被采纳积分+3

1回答

河畔一角 2023-07-25 13:28:57

是的,的确有问题,代码我已经修复,从新上传:

let isMock = config.mock;
if (typeof options.mock != 'undefined') {
    isMock = options.mock;
}else{
    isMock = config.mock;
}

这里增加了一个 else 写法,如果mock没有定义,则获取全局的mock变量进行覆盖,这样即使上一次的mock为true,本次如果没有定义mock,会取全局配置。

1 回复 有任何疑惑可以回复我~

相似问题

登录后可查看更多问答,登录/注册

问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信