javascript 中的 abortcontroller 是一个实用程序,用于取消或中止异步操作,例如获取请求或事件侦听器等其他任务,这些任务可能需要一些时间才能完成。它允许您停止不再需要的操作,这对于提高性能和管理资源很有用。
示例用例:
// Create an AbortController instance const controller = new AbortController(); const signal = controller.signal; // Start a fetch request with the signal attached fetch('https://api.example.com/data', { signal }) .then(response => response.json()) .then(data => console.log(data)) .catch(err => { if (err.name === 'AbortError') { console.log('Fetch request was aborted'); } else { console.error('Fetch error:', err); } }); // If we need to cancel the request: controller.abort(); // This will abort the fetch request
控制器:abortcontroller 创建一个管理中止过程的控制器。
signal:abortcontroller 有一个信号属性,您可以将其传递给 fetch() 等函数。该信号用于在操作应中止时进行通信。
abort() 方法:当调用 abort() 方法时,会触发信号并取消操作。