Axios 源码中取消请求的机制是如何巧妙设计的?