使用easy mock返回jsonp格式(js中的&&和||的神奇用法)

查看官方文档,支持返回jsonp格式且支持自定义命名

甚合我意,搞起来!

指定参数名,请求

 怎么回事,不是我要的结果。

查看源代码

const jsonpCallback = query.jsonp_param_name && (query[query.jsonp_param_name] || 'callback')

嗯?&&和 || 还能这样用吗?

由于不太擅长js,所以查了一下。js中&&和 || 用法比较奇特,可以用在对象上,如 a || b,若a存在就返回a,否则返回b;a&&b,若a存在,则返回b,否则返回a。

如果我自定义传入jsonp_param_name=mycallbackname,结果如下

query.jsonp_param_name=mycallbackname

query[query.jsonp_param_name]=undefined

callback还是那个callback

根据逻辑,返回(query[query.jsonp_param_name] || 'callback')的结果,而query[query.jsonp_param_name]不存在,所以最终返回callback

若自定义传入jsonp_param_name=,结果如下

query.jsonp_param_name=

query[query.jsonp_param_name]=

callback还是那个callback

根据逻辑,返回query.jsonp_param_name的结果,空,返回格式直接不是jsonp的了

做如下修改,即可

const jsonpCallback =  query.jsonp_param_name || 'callback'

猜你喜欢

转载自www.cnblogs.com/jiayoupaofu/p/12103371.html
今日推荐