如何取消正在运行的Promise
导读:本文共2327.5字符,通常情况下阅读需要8分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 代码案例项目当中有很多业务,我们用一些简单代码复现下这个问题。importReact,{useEffect}from'react';import{history}from'umi';constTest=props=>{useEffect(()=>{newPromise((resolve,reject)=>... ...
音频解说
目录
(为您整理了一些要点),点击可以直达。项目当中有很多业务,我们用一些简单代码复现下这个问题。
我们进入Test组件后,马上点击go to按钮,几秒之后页面还会跳转到test1页面。
经分析,我们应该在离开的时候要取消请求和取消Promise让后续的业务代码不在执行,取消请求比较简单,一般的库都支持,我们来说下怎么取消Promise.
我们知道Promise是没有提供取消或者终止的操作。但我们在开发过程中会遇到。我们可以参考和借助AbortController来实现。
下面我们该造下之前的代码,用我们封装的CancelablePromise,可以让Promise可取消。
Promise取消之后会抛出异常,如果需要在抛出异常之后做处理,可以通关对应的异常名称做判断。
本文:
如何取消正在运行的Promise的详细内容,希望对您有所帮助,信息来源于网络。