考虑一下:
class ConnectUser {
connect = () => {
axios.get('URL').catch(err => {
// CAN I CALL `connect` METHOD AGAIN?!
// this.connect();
});
}
}
我的代码有一个方法,可以连接或拒绝连接到一些资源。如果发生异常,我可以再次调用它来争取连接吗?
可以。但如果你想在你的应用上推广这一点,可以考虑使用axios插件,它会自动重试,只有在你指定的重试次数之后才会失败。如果您将其定义为作用域中的单独函数而不是类方法,则可以再次调用just connect function。但是如果你真的需要使用this调用,在外部闭包中保存适当的this引用,像这样:
connect = () => {
const self = this
axios.get('URL').catch(err => {
self.connect();
});
}
然后用self代替
作为Danielo的答案的替代-如果您希望connect
中的this
引用类实例,您可以简单地将connect
定义为类的方法,即
class ConnectUser {
connect() {
axios.get('URL').catch(err => {
return this.connect();
});
}
}