教程 ky tutorial

常见场景示例

本章节提供一些 Ky 在实际项目中常见的请求场景示例,帮助快速上手。

1. 分页获取列表

javascript
import ky from 'ky';

async function fetchUsers(page = 1, limit = 10) {
  const users = await ky.get('https://api.example.com/users', {
    searchParams: { page, limit }
  }).json();
  console.log(users);
}

fetchUsers();

`

2. 创建新资源(POST 请求)

javascript
async function createPost() {
  const post = await ky.post('https://api.example.com/posts', {
    json: { title: '新文章', content: '内容示例' }
  }).json();
  console.log(post);
}

createPost();

3. 更新资源(PUT / PATCH 请求)

javascript
async function updatePost() {
  const updated = await ky.put('https://api.example.com/posts/1', {
    json: { title: '更新后的标题', content: '更新内容' }
  }).json();
  console.log(updated);
}

4. 删除资源(DELETE 请求)

javascript
async function deletePost() {
  await ky.delete('https://api.example.com/posts/1');
  console.log('删除成功');
}

5. 文件上传

javascript
const formData = new FormData();
formData.append('file', fileInput.files[0]);

await ky.post('https://api.example.com/upload', { body: formData });

6. 文件下载

javascript
const blob = await ky.get('https://api.example.com/file.pdf').blob();
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'file.pdf';
a.click();
URL.revokeObjectURL(url);

7. 带身份验证的请求

javascript
const api = ky.create({
  headers: { 'Authorization': 'Bearer YOUR_TOKEN' }
});

const data = await api.get('https://api.example.com/protected').json();

小结

  • Ky 的请求场景覆盖 GET/POST/PUT/PATCH/DELETE、分页查询、文件上传下载、带认证请求等。
  • 使用实例可复用配置,提高代码可维护性。
  • 简洁 API 和自动 JSON 解析让开发更高效。