# 基本用法

URL: https://caijiao.org/ky/basic-usage
Source: docs/ky/basic-usage.md
Description: 学习 Ky 的基本使用方法，包括发送 GET、POST 请求和解析响应数据。

本章节介绍 Ky 的基本使用方式，包括发送常见的 HTTP 请求和处理响应数据。

## 发送 GET 请求

```javascript
import ky from 'ky';

async function getUser() {
  try {
    const data = await ky.get('https://api.example.com/user').json();
    console.log(data);
  } catch (error) {
    console.error('请求出错:', error);
  }
}

getUser();
````

## 发送 POST 请求

```javascript
import ky from 'ky';

async function createUser() {
  try {
    const data = await ky.post('https://api.example.com/user', {
      json: { name: 'Alice', age: 25 }
    }).json();

    console.log(data);
  } catch (error) {
    console.error('请求出错:', error);
  }
}

createUser();
```

## 发送带参数的请求

可以通过 `searchParams` 添加 URL 查询参数：

```javascript
import ky from 'ky';

async function fetchUsers() {
  const data = await ky.get('https://api.example.com/users', {
    searchParams: { page: 1, limit: 10 }
  }).json();

  console.log(data);
}

fetchUsers();
```

## 响应处理

* `.json()`：将响应解析为 JSON
* `.text()`：将响应解析为文本
* `.arrayBuffer()`：将响应解析为 ArrayBuffer

```javascript
const text = await ky.get('https://api.example.com/info').text();
console.log(text);
```

## 小结

* Ky 提供简洁的 GET/POST/PUT/DELETE 等请求方法。
* 支持 JSON 自动解析，减少手动处理。
* 可通过 `searchParams` 添加查询参数，或通过 `json` 发送请求体。
