【问题标题】:Typescript types HTTP request Rest APITypescript 类型 HTTP 请求 Rest API
【发布时间】:2019-03-14 01:00:07
【问题描述】:

所以,我的代码有一些问题,因为某些类型没有指定,我不知道应该使用什么类型。

  const ***connectionOptions*** = {
    headers: {
      Authorization: 'Basic ' + new Buffer(this.config.USERNAME + ':' + this.config.PASSWORD).toString('base64')
    },
    host: 'http://lpr.houstonhidta.net',
    path: '/live/alarm',
    port: 8099
  };

  const ***request*** = http.request(connectionOptions, (***response***) => {
    response.setEncoding('utf8');
    response.on('data', (***chunk***) => {
      return response._read;
    });
  });```

Types missing for : <br/>
connectionOptions<br/>
request<br/>
response<br/>
chunk<br/>

【问题讨论】:

    标签: node.js typescript


    【解决方案1】:

    不知道你用的是什么http库,不过一般有以下几种选择:

    1. 您使用的库船舶类型。在这种情况下,您可能只需深入了解该库的源代码并找到正确的类型。
    2. 这些类型在@types/foo 包中提供(foo 是您正在使用的包的名称)。在这种情况下,您也可以通过阅读此包的源代码来找到类型。
    3. 两者都不可用,因此您需要提出自己的类型。这并不难。

    例如,您指定的第一个对象可能具有以下类型:

    type ConnectionOptions = {
      headers: {
        [s: string]: string
      },
      host: string,
      path: string,
      port: number
    } 
    

    【讨论】:

    • 我正在使用 require('http');
    • 啊,我没认出来。你可能需要运行npm install -D @types/node
    • 无效。应该为这些家伙准备一些类型,不是吗?
    • 对于 connectionOptions 我认为是对象类型
    • @AndreMoraes 查看@types/node 包的源代码以找到您需要的所有类型。对于您的代码示例,您可以省略 connectionOptions 的类型。
    猜你喜欢
    • 1970-01-01
    • 2014-09-01
    • 2015-06-11
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    相关资源
    最近更新 更多