搜尋

首頁  >  問答  >  主體

為什麼我的巢狀函數中的回呼函數無效?

我正在使用Socket.io的回調函數,像這樣:

loadData(callback) {

var client = new SyncClient(this.socket, this.project);
this.client = client; //來自我的資料函數

    client.on("connected", () => {
        this.values = client.getData();
        callback(client);
    }
}

但是當我呼叫我的函數loadData時,在控制台中出現了這個錯誤訊息:Uncaught TypeError: callback is not a function

我認為callback()正在嘗試呼叫它的父級,而它的父級是在client.on內部建立的函數,而不是loadData( callback)?還是問題出在其他地方?

在我的mounted中這樣呼叫我的loadData()

mounted() {
    this.loadData(this.client)
}

P粉957661544P粉957661544247 天前380

全部回覆(1)我來回復

  • P粉645569197

    P粉6455691972024-03-20 16:17:44

    嘗試使用從 .find 回呼函數接收到的資料(res),並將其傳遞給你的回呼函數:

    socket.on('getSettings', function (data, callback) {
    
        console.log('設定已廣播。');
    
        lmsSettings.find({}, function (err, res) {
            callback(false, res);
        });
    });

    回覆
    0
  • 取消回覆