Spaces:
Running
Running
File size: 2,433 Bytes
e841ba5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# AutoLoading 自动加载
在`Gradio`前端发送请求时自动为被包裹的内容添加加载动画。该组件会自动收集子组件的加载状态,建议至少在全局使用一次此组件,以显示兜底的加载反馈。
> **注:** 如果有多个嵌套的`AutoLoading`组件,则只有最内层的`AutoLoading`能收集到子组件的加载状态并展示加载动画。
在`Gradio`中,前端到服务端的请求一共有 4 种状态:
- `pending`:此时前端发出的请求还没有收到服务端的响应。
- `generating`:此时前端发出的请求已经收到了响应,但是服务端还没有完成所有内容返回(该状态并不是必定发生的,只有当服务端的处理函数使用`yield`返回值时才会存在)。
- `completed`:服务端返回了所有内容,本次请求结束。
- `error`:本次请求发生错误。
默认情况下,`AutoLoading`组件会:
- 在请求状态为`pending`时添加加载动画。
- 在请求状态为`generating`时结束加载动画,此时用户可以手动控制应用的加载效果,您也可以通过设置`generating=True`来继续展示动画。
- 在请求状态为`completed`时结束加载动画。
- 在请求状态为`error`时结束加载动画,您可以通过设置`show_error=True`来为用户展示错误信息(该信息会在页面居中显示)。
## 示例
<demo name="basic"></demo>
<demo name="nested" title="嵌套的 AutoLoading"></demo>
## API
| 属性 | 类型 | 默认值 | 描述 |
| ------------ | ---- | ------ | ---------------------------------------------------------------------------------------- |
| generating | bool | False | 是否包含对`generating`状态的处理 |
| show_error | bool | True | 是否显示错误信息 |
| show_mask | bool | True | 是否显示遮罩 |
| show_timer | bool | True | 是否显示计时器 |
| loading_text | str | None | 加载中文案,默认不填写使用 `Gradio` 的加载文案显示(包括加载时间、当前用户的排队队列等) |
|