关于请求数据的问题

来源:4-2 通用JS工具类封装(网络数据请求功能)

学习为致及

2018-06-14

我也不太好说.就是再mm的工具中 请求数据,如果请求成功就会调用这个内容.

if(0===res.status){
                    typeof param.success ==='function' &&param.success(res.data,res.msg);
}

大概意思应该是会给成功的function传入(res.data,res.msg);这两个参数.

但是在实际的使用中,如果成功请求了数据.老师的function()里面经常只有一个res参数'function(res)'.

百度也百度不到.可能是我js学的不太好.

想问一下如果规定了传入两个参数'function(res.data,res.msg)'.

但是在使用时只使用了一个参数'function(res)',

就会默认使用第一个嘛.(貌似自己测试一下,确实是这样  不过还是想问问官方的说话)


写回答

2回答

慕沐0564158

2018-06-16

个人的非官方的理解是--- 函数定义时可以规定多个参数, 在调用函数时传递的参数会按照排序从前往后匹配, 如果定义了2个参数而只传递了一个参数那就是第一个参数, 如果想用第二个位置的参数还需要传递一个空值占位才行.  省略的参数会默认为undefined. ---个人理解, 自己测试的也是这样.
0
1
学习为致及
确实我自己瞎弄半天也是.不过还是许愿一下老师回答一下..感觉权威一点,万一哪里有错就尴尬了
2018-06-17
共1条回复

Rosen

2018-06-19

传入的时候传了data 和 msg 两个东西,用的时候一般只会用到 data,所以可以直接 function(res){}。如果需要用 msg 字段了,取的时候就用 function(res, msg){}就可以了。因为 mm.js 是通用的,所以封装的要通用一点,考虑需要两个参数的情况。

ps: js 里函数定义和调用的时候,参数是按顺序对应的

0
1
学习为致及
好的老师-w- 看懂了
2018-06-19
共1条回复

真实数据对接 从0开发前后端分离的企业级上线项目

【毕设项目精品】前端实战,对接真实服务端数据,开发完整项目

4262 学习 · 4113 问题

查看课程