前言
作为前端开发者,我们经常需要从后端获取数据或者请求服务。这时候就需要用到 ajax、fetch 等工具。而 smallfetch 是一款轻量级的 fetch 封装库,提供了一些常用的功能,让我们用更简单的方式发送请求。
安装
使用 npm 安装 smallfetch:
--- ------- ----------
使用
发送 GET 请求
------ ----- ---- ------------ ------- ---- -------------------------------------- ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个 GET 请求到 GitHub API,获取了用户名为 octocat 的用户信息。
发送 POST 请求
------ ----- ---- ------------ ------- ------- ------- ---- ------------- ----- - --------- -------- --------- ------- - ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个 POST 请求到本地的登录接口,并且传递了用户名和密码。
发送 DELETE 请求
------ ----- ---- ------------ ------- ------- --------- ---- ------------ ----- - --- - - ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个 DELETE 请求到本地的用户接口,并且传递了需要删除的用户 id。
发送 PUT 请求
------ ----- ---- ------------ ------- ------- ------ ---- ------------ ----- - --- -- --------- -------------- - ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个 PUT 请求到本地的用户接口,并且传递了需要修改的用户 id 和新的用户名。
发送 PATCH 请求
------ ----- ---- ------------ ------- ------- -------- ---- ------------ ----- - --- -- ---- -- - ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个 PATCH 请求到本地的用户接口,并且传递了需要修改的用户 id 和新的年龄。
发送文件
------ ----- ---- ------------ ----- -------- - --- ---------- ----------------------- ----- ------- ------- ------- ---- -------------- ----- --------- -------- - --------------- --------------------- - ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们发送了一个含有文件的 POST 请求到本地的上传接口,并且设置了对应的请求头。
请求超时
------ ----- ---- ------------ ------- ---- ------------ -------- ---- ------------- -- - ---------------- ------------ -- - ---------------- --
在上面的例子中,我们设置了请求超时时间为 5 秒,如果在 5 秒内未获得响应,就会触发 catch。
总结
smallfetch 提供了一个方便的 api,让我们可以用更简单的方式发送请求。在实际开发中,我们可以结合自己的需要,选择合适的请求方式来使用。
参考链接
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/6005739c81e8991b448e98f8