如上图所示,
request(config)
很好理解,即传入单个config参数(其实这里应该叫必选多参,因为这里只有config一个参数)。但是
axios.get(url[,config])
是什么意思?这很令我费解。1.于是去请教大牛,大牛说:
2.中文axios文档说中,
3.去查阅资料,学习到:
1)config是可选多参
var config = {
headers: {'X-My-Custom-Header': 'Header-Value'}
};
axios.get('https://api.github.com/users/codeheaven-io');
axios.get('https://api.github.com/users/codeheaven-io', config);
2)data也是可选多参
axios.get('https://api.github.com/users/codeheaven-io', config);
axios.post('/save', config);
axios.get('https://api.github.com/users/codeheaven-io', config);
axios.post('/save', { firstName: 'Frank' , lastName: 'Kai'}, config);
3)url是必选单参
没有为什么。
问题再次回归到axios.get(url[,config])
上来:
其中的url是必选单参(必选且只有1个参数),config则是可选多参(可选且含有n个参数,n>=1)。
同理,axios.post(url[,data[,config]])
中:
url是必选单参,data和config则都是可选多参。
除了必选单参和可选多参,其实还包括必选多参和可选单参数。未提及的两个概念其实和字面意思一样,很容易理解。
参考链接:
how-to-use-axios-as-your-http-client
aixos中文文档
axios英文文档
希望这篇博客对大家有用!
努力成为优秀的前端工程师!
2017年3月28日更新:
Qlik中的语法也印证了我的观点:
看来逗号加省略号的形式代表的就是可选参数,例如{ , variable... } , [ , variable... ]这两种形式。
期待和大家交流,共同进步,欢迎大家加入我创建的与前端开发密切相关的技术讨论小组:
- SegmentFault技术圈:ES新规范语法糖
- SegmentFault专栏:趁你还年轻,做个优秀的前端工程师
- 知乎专栏:趁你还年轻,做个优秀的前端工程师
- Github博客: 趁你还年轻233的个人博客
- 前端开发QQ群:660634678
微信公众号: 人兽鬼 / excellent_developers
努力成为优秀前端工程师!