[英]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.