踩坑篇之mockjs连接超时以及function参数中直接return的对象无法使用mock语法规范

踩坑篇之mockjs连接超时以及function参数中直接return的对象无法使用mock语法规范

最近在学习mockjs,mockjs算是比较简单的,但是对于我这样一个初次上手的人来说,还是遇到了一些麻烦,查阅了好多文章,发现都没有遇到和我有同样遭遇的伙伴,可能我还是太水了,才会遇到这么水的问题。

mock方法几个主要参数形式:

Mock.mock(template)
Mock.mock(rurl,function(option)||template)
Mock.mock(rurl,rtype,function(option) || template)

其实前两个形式,我没遇到什么问题,主要在第三个形式,其中rtype是填写请求类型的,文档写的 POST,GET等类型的,这就是坑我的地方,我按文档写入了大写的字符串,结果就响应超时,然而我并没有意识到是大小写的问题,翻了好多博客,都是写url匹配问题的,把rulr和fanction参数改了又改,还是没解决,最终静下心来,从参数少的形式一个一个调试,最终确定是rtype参数的大小写导致,这里只能用小写post,get等类型,现在想想真是被自己蠢哭了

另一个坑是在function(option) 中直接return一个数据对象无法使用mock语法规范

/*
错误写法 最终会直接原封不动的返回return中的对象{
        'name': '@name',
       'list|1-10':[{
        	'id|+1':0
    	}]
*/ 
Mock.mock(url, type, option => {
    return {
        'name': '@name''list|1-10':[{
        	'id|+1':0
    	}]
})
//使用Random不受影响,因为Mock.Random是全局的
Mock.mock(url, type, option => {
    return {
        'name': Mock.Random.name()
    }
})
//函数里返回一个mock对象就可以正确使用mock语法
Mock.mock(url,type,option=>{
	return Mock.mock({
        'userName': '@name',
        'list|1-10':[{
        	'id|+1':0
    	}]
    })
}

//直接使用template形式也可以使用mock语法

Mock.mock(url, type, {
    'name':"@name"
})
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值