如何实现一比一还原axios源码中的取消功能(第七部分)?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1859个文字,预计阅读时间需要8分钟。
根据您的要求,以下是简化后的内容:
参考官方示例,我们首先来看官方的例子:通过axios的CancelToken工厂函数,创建一个source,然后将这个对象作为参数传递给axios,最后,在需要取消的时候调用source的cancel方法即可。
按照惯例,我们先来看下官方的例子:
你可以通过axios的CancelToken工厂函数,生成一个source,然后把这个对象作为参数传递给axios,最后,需要取消的时候调用source的cancel方法即可。
你还可以通过在参数中绑定new CancelToken的参数中的回调,来赋值执行取消操作。
最后,你还可以通过fetch的API来执行取消操作。OK,我们来看下如何实现这样的取消功能。首先,我们先在lib目录下创建一个cancel文件夹,然后在cancel下创建个Cancel.js:
// 这这个是啥呢?就是你取消请求的时候抛出去的错误类型的类 // 很简单,就是个message function Cancel(message) { this.message = message; } // 把它转换成字符串的toString方法的自定义实现 Cancel.prototype.toString = function toString() { return "Cancel" + (this.message ? ": " + this.message : ""); }; // 原型上绑定个__CANCEL__,给isCancel做判断的条件。
本文共计1859个文字,预计阅读时间需要8分钟。
根据您的要求,以下是简化后的内容:
参考官方示例,我们首先来看官方的例子:通过axios的CancelToken工厂函数,创建一个source,然后将这个对象作为参数传递给axios,最后,在需要取消的时候调用source的cancel方法即可。
按照惯例,我们先来看下官方的例子:
你可以通过axios的CancelToken工厂函数,生成一个source,然后把这个对象作为参数传递给axios,最后,需要取消的时候调用source的cancel方法即可。
你还可以通过在参数中绑定new CancelToken的参数中的回调,来赋值执行取消操作。
最后,你还可以通过fetch的API来执行取消操作。OK,我们来看下如何实现这样的取消功能。首先,我们先在lib目录下创建一个cancel文件夹,然后在cancel下创建个Cancel.js:
// 这这个是啥呢?就是你取消请求的时候抛出去的错误类型的类 // 很简单,就是个message function Cancel(message) { this.message = message; } // 把它转换成字符串的toString方法的自定义实现 Cancel.prototype.toString = function toString() { return "Cancel" + (this.message ? ": " + this.message : ""); }; // 原型上绑定个__CANCEL__,给isCancel做判断的条件。

