取消请求

取消请求

TIP

为保证体验,请打开开发者工具,选择网络面板,观察网络请求状态。如果请求响应时间过短,可以调到低速3G模式延长响应时间。

取消尚未完成的请求

通过 cancelLastRequest 选项控制是否取消尚未完成的请求。

const { result, loading, error, run } = useRequest(request, {
  cancelLastRequest: false,
});

组件卸载时取消当前组件尚未完成的请求

通过 cancelOnDispose 选项控制是否在组件卸载时取消当前组件尚未完成的请求。

const { result, loading, error, run } = useRequest(request, {
  cancelOnDispose: false,
});

手动取消请求

通过useRequest返回的 cancel 函数手动取消请求,如果没有进行中的请求,返回false,否则返回true

const { result, loading, error, run, cancel } = useRequest(request);
// ...
const isCanceled = cancel();

WARNING

如果没有进行中的请求,调用cancel并不会触发onCancel

监听取消请求

通过传入 onCancel 函数,可以在请求被取消时触发回调。

const onCancelStr = ref('');

const onCancel = () => {
  onCancelStr.value = 'onCancel triggered';
};

const { result, loading, error, run } = useRequest(request, {
  onCancel,
});

WARNING

被取消的请求将不会触发onAfteronError

完整示例



result:

loading: false

error:

onCancel:

Last Updated 2023/10/22 14:26:20