You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TS调用Express中间件报Unsafe call of an any typed value警告如何解决

问题解决方法

原因说明

该警告是因为TypeScript无法自动推断checkBrowserSupport函数的返回值为合法的Express中间件类型,误将返回值判定为any类型,所以需要给该函数添加明确的返回类型约束。

具体解决方案

你需要给checkBrowserSupport函数添加Express内置的RequestHandler类型作为返回值,该类型是官方定义的标准Express中间件类型,已经内置了req、res、next参数的类型定义。

  1. 首先从express包中导入类型:
import type { RequestHandler } from "express";
  1. 修改函数定义,添加返回类型:
export function checkBrowserSupport(
  browserStatuses: string[],
  supportedBrowsers: ISupportedBrowser[],
  paths: IPath
): RequestHandler {
  return (req, res, next) => {
    // 原有中间件逻辑
  };
}

额外说明

添加RequestHandler类型后,你不需要再给返回的匿名函数的req、res、next参数重复标注类型,TypeScript会自动继承类型约束,同时完全兼容同步、异步两种中间件写法。如果修改后仍然有警告,检查项目devDependencies中是否已经正确安装@types/express类型依赖包。

内容的提问来源于stack exchange,提问作者bonum_cete

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 08:33:04