目录-入口-由此开始-大纲-总览-概括-枢纽-指导-指引-总领

梗概

  • JavaScript的第三方类库,一个可跨域的强大易用的http模块

适用范围

热门程度

  • 周下载量20,317,629
    • 截止23-5-19

优点

  • 功能强大的 Node.js HTTP 请求库。
    • 它支持自动重试、超时和取消。
    • 支持流式传输分页功能
    • 支持代理功能
  • 它的包大小比 axios

缺点

使用教程:

官方文档

文档入口:got - npm 主要看这个Promise API常用功能索引即可

1. 实例:

//@ts-ignore
  
import { OptionsInit } from 'got'
  
async function PromiseTest() {
    let gotSend = (await import('got')).default
    let options: OptionsInit = {
        url: 'https://ltpapi.xfyun.cn/v1/ke',
        method: "POST", //请求方式 get post... 不多介绍了
        headers: { //需要啥传啥 我列了几个常用的,不需要删除即可
            "content-type": "application/json", //编码类型 不同的content-type传递方式不相同 下面传参时会介绍
        },
        resolveBodyOnly: true,
        responseType: "json",  //解析响应的方式默认(text) text,json,buffer 这里我使用buffer 因为buffer可以更自由的判断响应体的类型
        followRedirect: true, //是否遵循重定向响应 默认(true)
        timeout: {
            request: 25000
        }, //请求超时时间 好像还可以比较详细的设置 需要的分细的去官网看把
        //下面是请求体了,划重点 根据不同的content-type选择一个即可
        json: { a: 1 }, //application/json时使用 支持类型 object| Array | number | string | boolean | null
        // body: form,//multipart/form-data时使用 多个参数继续append即可。
        // form: { a: 1 }, //application/x-www-form-urlencoded时使用 类型只能是对象object
        // http2:true, //根据ALPN协议选择HTTP/2 默认(http 1.1) 这里我还在研究
        // isStream:true //返回的是Stream流 默认false 返回的是Promise http2好像要配合这个使用
        retry: { limit: 3 }
    }
    let promise = gotSend(options) //如果需要取消请求,把变量在全局声明 掉用got.cancel() 就可以取消请求
    return promise
}