概述
在前端开发中,我们经常需要调用外部 API 来获得数据,这时候我们需要使用一些工具来实现这一目的。api-res
就是一个帮助我们优雅地处理 API 响应的工具,通过它我们可以轻松地处理常见的 API 响应格式,并且可以进行自定义处理和错误处理,提高代码的复用性和可维护性。
安装
api-res
是一个 npm 包,你可以使用 npm
或者 yarn
安装它。
npm install api-res # or yarn add api-res
使用
基本使用
-- -------------------- ---- ------- ------ ------ ---- ---------- ------------------------------- ------------- -------------- -- - --------------------------- ----------------------------- ------------------------------ -- ------------ -- - ------------------- ---展开代码
如上所示,我们可以通过 apiRes
方法将 fetch
方法的响应转换成一个包含 data
、status
和 headers
属性的对象。其中 data
包含了响应数据,status
包含了响应状态码,headers
包含了响应头信息。如果响应状态码不在 200-299 范围内,那么会抛出一个错误。
自定义处理
有时候我们需要对 API 响应进行一些自定义的处理,例如对响应数据进行格式化、对响应状态进行统一处理、对特定响应头进行解析等。此时我们可以使用 createApiResMiddleware
方法自定义一个中间件来完成这些任务。
-- -------------------- ---- ------- ------ ------- - ---------------------- - ---- ---------- ----- --------------- - ------ -- - ----- ------- - ------------------------- ------------- -- --------- - ------ ----------- - -- ----- ---------- - ------------------------ ------------------ ---- -- -- ------- ---- --- --------------- ----- -- -- -------- -------------- ----- ------------ --- ----------------- ------- -- -- --------- ------------------------------------ -- --- ------------------------------- - -------- - ------- ------------------ - -- ------------------------- -------------- -- - ----------------------------- ------------------------------- -- ------------ -- - --------------------------- ------------------------ ---展开代码
如上所示,我们通过 createApiResMiddleware
方法创建了一个中间件。中间件包含三个方法:
transformResponse
:对响应数据进行转换。transformError
:对错误进行转换。transformHeaders
:对响应头进行转换。
我们可以选择其中的一两个方法来完成自定义处理,也可以同时使用它们来完成多个任务。
错误处理
如果响应状态码不在 200-299 范围内,apiRes
方法会抛出一个错误。我们可以通过 catch
捕获这个错误,并进行错误处理。
-- -------------------- ---- ------- ------------------------------- ------------- -------------- -- - ---------------------- -- ------------ -- - --------------------------- -------------------------- ---展开代码
如上所示,我们通过 catch
捕获了错误,并使用 error.message
和 error.status
打印了错误信息和状态码。
总结
api-res
是一个非常实用的工具,通过它我们可以轻松地处理 API 响应,提高代码的复用性和可维护性。我们可以使用它的基本功能来快速处理常见的 API 响应格式,也可以使用自定义中间件来完成更加复杂的任务。同时,我们还需要注意错误处理,及时捕获错误并进行处理,保证代码的可靠性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/109510