---
name: "RequestTask.abort"
mode: "kit"
versionRequirements:
  - { name: "BaseKit", version: "2.0.1" }
platform:
  - "iOS"
  - "Android"
title: "RequestTask.abort - 中断请求任务"
---

## RequestTask.abort

> [VERSION] BaseKit >= 2.0.1

> [PLATFORM] iOS, Android

### 描述

中断请求任务

### 参数

| 属性 | 类型 | 必填 | 默认值 | 描述 |
| --- | --- | --- | --- | --- |
| `complete` | `() => void` | 否 | - | 接口调用结束的回调函数（调用成功、失败都会执行） |
| `success` | `() => void` | 否 | - | 接口调用成功的回调函数 |
| `fail` | `(params: Object) => void` ↓见下方 | 否 | - | 接口调用失败的回调函数 |

#### fail 回调参数

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `errorMsg` | `string` | 错误信息 |
| `errorCode` | `string \| number` | 错误码 |
| `innerError` | `Object` | 错误扩展 |

##### fail(params).innerError 的属性

| 属性 | 类型 | 描述 |
| --- | --- | --- |
| `errorCode` | `string \| number` | 错误扩展码 |
| `errorMsg` | `string` | 错误扩展信息 |


### 示例代码

#### Demo

```tsx
import { request } from '@ray-js/ray'

// 中断请求任务。ty.request 返回 RequestTask，调用 task.abort 中断请求，abort 通过 success 回调返回结果。
// 注：abort 在请求结果回来后调用，演示 abort 的调用方式与成功返回。
let task;
task = request({
  url: "https://httpbin.org/get",
  method: "GET",
  success: data => {
    console.log(data);
    task.abort({
      success: () => {
        console.log("abort success");
      },
      fail: error => {
        console.error(error);
      },
    });
  },
  fail: error => {
    console.error(error);
  },
});
```
