教程 ky tutorial

全局配置与实例

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 实例可灵活组合,满足不同模块或服务的请求需求。