简介
grand-central-junction 是一个能够将各种异步请求进行协调和处理的 npm 包。使用 grand-central-junction 可以让前端开发者更加便捷的处理多个异步请求,并且可以使用优雅的方式来发送这些请求。
安装
使用 npm 包管理工具进行安装,例如:
npm install grand-central-junction
使用
grand-central-junction 允许你将请求分组,这些请求可以经过不同的处理程序进行处理。以下是典型的样式:
-- -------------------- ---- ------- ----- --- - ---------------------------------- ----- ------ - ------ - ------------------------------------ --------------------------------------------- -- ---------- ---------------------------- - -- -------- ------ --------- -- -- - -- --- -- ------------ -- - ------------------- ---
在这个示例中,我们将两个请求组存储到 store 组中,并且将一个请求存储在 analytics 组中。每个组都可以有自己的请求处理程序。
处理程序函数
grand-central-junction 允许您定义自定义函数作为处理程序,这些函数将传入一个对象,其中包含每个请求的响应。以下是一个示例:
-- -------------------- ---- ------- ----- --- - ---------------------------------- ----- ------ - ------ - ------------------------------------ --------------------------------------------- -- ---------- ---------------------------- - -- - --------- - ------ --------- -- - ------ - -------- ------------------ -------- ----------------- -- -- ---------- --------- -- - ------ ------------------ - - -- -------- ------ --------- -- -- - -- --- -- ------------ -- - ------------------- ---
在这个新示例中,我们定义了两个自定义处理程序函数。处理程序函数将作为第二个参数传递给 gcj()
函数。在这个示例中,store 处理程序生成了一个新对象,其中存储了每个请求响应的数据。另一方面,analytics 处理程序只返回 analytics 请求中的一个响应对象数据。
全局处理程序
您可以为所有请求定义一个全局处理程序。以下是一个示例:
-- -------------------- ---- ------- ----- --- - ---------------------------------- ----- ------ - ------ - ------------------------------------ --------------------------------------------- -- ---------- ---------------------------- - -- - -------------- --------- -- - ----- ------ - ------------------------- --------- -- - -- ---------------- --- ---- - ------ - ------ - ------ ------- -- ------ -- -------- - ------ ---------------------- -- --------------- - - -- ------------- -- - -- --- -- ------------ -- - ------------------- ---
在这个示例中,我们定义了一个全局处理程序函数。这个函数将作为第二个参数传递给 gcj()
函数。在这个示例中,如果所有请求都成功响应(返回状态码为 200),那么这个全局处理程序函数将返回响应对象中的所有数据数组。但是,如果有一个请求未成功响应(返回状态码不是 200),gcj()
函数将引发一个异常。
异常处理程序
grand-central-junction 允许您定义自定义异常处理程序。以下是一个示例:
-- -------------------- ---- ------- ----- --- - ---------------------------------- ----- ------ - ------ - ------------------------------------ --------------------------------------------- -- ---------- ---------------------------- - -- - ------------- ----- -- - -- -------------- --- -------- ------- - ------ - ------ -------- ------------ -- - - -- -------- ------ --------- -- -- - -- --- -- ------------ -- - ------------------- ---
在这个新示例中,我们定义了一个自定义异常处理程序函数。这个函数将作为第二个参数传递给 gcj()
函数。在这个示例中,如果任何请求由于网络不可用或其他原因引发了异常,异常处理程序将使用错误的消息返回一个对象。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/77295