主题
全局配置与实例
Ky 支持全局配置和实例化请求,使得在项目中可统一管理请求前缀、请求头、超时、重试等配置,提高代码复用性。
创建 Ky 实例
使用 ky.create() 可以创建自定义实例:
javascript
import ky from 'ky';
const api = ky.create({
prefixUrl: 'https://api.example.com',
headers: {
'Authorization': 'Bearer YOUR_TOKEN'
},
timeout: 5000,
retry: 2
});使用实例发送请求
javascript
async function getUser() {
const data = await api.get('user').json();
console.log(data);
}
async function createPost() {
const post = await api.post('posts', {
json: { title: 'New Post', content: 'Hello World' }
}).json();
console.log(post);
}
getUser();
createPost();全局默认配置
Ky 允许在创建实例时统一配置:
- prefixUrl:请求基础 URL
- headers:默认请求头
- timeout:请求超时
- retry:失败重试次数
- hooks:请求或响应拦截器
javascript
const api = ky.create({
prefixUrl: 'https://api.example.com',
headers: { 'Authorization': 'Bearer TOKEN' },
timeout: 8000,
retry: 3,
hooks: {
beforeRequest: [
request => console.log('发送请求:', request.url)
],
afterResponse: [
(request, options, response) => console.log('收到响应:', response.status)
]
}
});小结
- 使用实例可复用配置,减少重复代码。
- 统一管理请求前缀、请求头、超时、重试和拦截器。
- Ky 实例可灵活组合,满足不同模块或服务的请求需求。