目录-入口-由此开始-大纲-总览-概括-枢纽-指导-指引-总领
梗概
- JavaScript的第三方类库,一个可跨域的强大易用的http模块
适用范围
热门程度
- 周下载量20,317,629
- 截止23-5-19
优点
缺点
- 学习曲线较陡峭。
- 只支持ES6模块化 ES module
使用教程:
- Got有多种形式的APIgot-fetch等
官方文档
文档入口: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
}