listHandlers()
返回当前请求处理程序的列表。
调用签名
¥Call signature
worker.listHandlers()
此方法不接受任何参数,并返回 worker
对象上存在的所有处理程序的列表。它主要用于调试和自省目的。
¥This method accepts no arguments and returns a list of all handlers present on the worker
object. It’s primarily designed for debugging and introspection purposes.
过滤处理程序
¥Filtering handlers
你可以通过对 .listHandlers()
函数调用的结果实现 instanceof
检查,将处理程序过滤为特定类型(例如,仅 HTTP 或仅 WebSocket 处理程序)。
¥You can filter out the handlers to a particular type (e.g. only HTTP or only WebSocket handlers) by implementing the instanceof
check on the result of the .listHandlers()
function call.
例如,以下是仅记录 HTTP 处理程序的方法:
¥For example, here’s how to log only HTTP handlers:
import { RequestHandler } from 'msw'
const handlers = worker.listHandlers().filter((handler) => {
// This will include both `http.*` and `graphql.*` handlers
// while omitting and `ws.*` handlers.
return handler instanceof RequestHandler
})
console.log(handlers)
分别地,
handler instanceof WebSocketHandler
仅返回ws
处理程序。¥Respectively,
handler instanceof WebSocketHandler
returns onlyws
handlers.