文章预览
今天,我们来聊聊一个可能被你忽视,而且非常强大的标准 JavaScript API - AbortController 。 在过去,大家在提到 AbortController 的时候,一般会举请求中断的例子,就连 MDN 给到的描述也是这样的: 但是 AbortController 的能力可不止于此, AbortController 是 JavaScript 中的一个全局类,它可以用来终止任何异步操作,使用方法如下: const controller = new AbortController(); controller.signal; controller.abort(); 我们创建一个 AbortController 实例后,会得到两个东西: signal 属性,这是一个 AbortSignal 实例,我们可以将它传递给要中断的 API,来响应中断事件并进行相应处理,例如,传递给 fetch() 方法就可以终止这个请求了; .abort() 方法,调用这个方法会触发 signal 上的中止事件,并将信号标记为已中止。 我们可以通过监听 abort 事件,然后根据特定的逻辑实现中止:
………………………………