关于请求数据的问题
来源:4-2 通用JS工具类封装(网络数据请求功能)
学习为致及
2018-06-14
我也不太好说.就是再mm的工具中 请求数据,如果请求成功就会调用这个内容.
if(0===res.status){
typeof param.success ==='function' &¶m.success(res.data,res.msg);
}
大概意思应该是会给成功的function传入(res.data,res.msg);这两个参数.
但是在实际的使用中,如果成功请求了数据.老师的function()里面经常只有一个res参数'function(res)'.
百度也百度不到.可能是我js学的不太好.
想问一下如果规定了传入两个参数'function(res.data,res.msg)'.
但是在使用时只使用了一个参数'function(res)',
就会默认使用第一个嘛.(貌似自己测试一下,确实是这样 不过还是想问问官方的说话)
写回答
2回答
-
个人的非官方的理解是--- 函数定义时可以规定多个参数, 在调用函数时传递的参数会按照排序从前往后匹配, 如果定义了2个参数而只传递了一个参数那就是第一个参数, 如果想用第二个位置的参数还需要传递一个空值占位才行. 省略的参数会默认为undefined. ---个人理解, 自己测试的也是这样.012018-06-17
-
Rosen
2018-06-19
传入的时候传了data 和 msg 两个东西,用的时候一般只会用到 data,所以可以直接 function(res){}。如果需要用 msg 字段了,取的时候就用 function(res, msg){}就可以了。因为 mm.js 是通用的,所以封装的要通用一点,考虑需要两个参数的情况。
ps: js 里函数定义和调用的时候,参数是按顺序对应的
012018-06-19
相似问题