[英]Call method inside that method in JavaScript
考虑一下:
class ConnectUser {
connect = () => {
axios.get('URL').catch(err => {
// CAN I CALL `connect` METHOD AGAIN?!
// this.connect();
});
}
}
我的代码有一个方法,可以连接或拒绝连接某些资源。 如果发生异常,我可以再次调用它来争取连接吗?
作为 Danielo 答案的替代方案 - 如果您希望this
内部connect
引用 class 实例,您可以简单地将connect
定义为 class 的方法,即
class ConnectUser {
connect() {
axios.get('URL').catch(err => {
return this.connect();
});
}
}
是的你可以。 但是,如果这是您想在您的应用程序上推广的内容,请考虑使用 axios插件,该插件会自动重试,并且仅在您指定的重试次数后才会失败。 如果您将其定义为 scope 上的单独 function 而不是 ZA142F2ED4F8EBC0C2 方法,则可以再次调用仅连接 function。 但是,如果你真的需要使用 this 调用,请将正确的 this 引用保存在外部闭包中,如下所示:
connect = () => {
const self = this
axios.get('URL').catch(err => {
self.connect();
});
}
然后使用 self 代替
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.