主题
常见场景示例
本章节提供一些 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 解析让开发更高效。