小编use*_*322的帖子

Typescript - HeadersInit 类型上不存在“授权”

我正在使用node-fetchnpm 模块,并有一个辅助函数来向第三方服务发出授权请求(基本上只是用于添加授权标头的中间件)。

async function makeAuthorizedRequest(url: string, options: RequestInit) {
  if (!options) {
    options = { headers: {} as HeadersInit }
  }
  if (!options.headers) {
    options.headers = {} as HeadersInit
  }
  options.headers.Authorization = `Bearer ${access_token}`
  if (!options.headers['User-Agent']) {
    options.headers['User-Agent'] = USERAGENT
  }
  return fetch(url, options)
}
Run Code Online (Sandbox Code Playgroud)

RequestInit类型被定义为具有如下定义的headers类型属性HeadersInit

export type HeadersInit = Headers | string[][] | { [key: string]: string };
Run Code Online (Sandbox Code Playgroud)

我在 IDE (VSCode) 中遇到两个不同的错误,并tsc拒绝编译它,因为

Property 'Authorization' does not exist on type 'Headers'.ts(2339) …
Run Code Online (Sandbox Code Playgroud)

typescript node-fetch

8
推荐指数
1
解决办法
9937
查看次数

标签 统计

node-fetch ×1

typescript ×1