簡體   English   中英

在 JavaScript 中調用該方法內的方法

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM