Heim  >  Fragen und Antworten  >  Hauptteil

Warum funktionieren die Rückruffunktionen in meinen verschachtelten Funktionen nicht?

Ich verwende die Rückruffunktion von Socket.io wie folgt:

loadData(callback) {

var client = new SyncClient(this.socket, this.project);
this.client = client; //来自我的数据函数

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

Aber wenn ich meine Funktion aufrufe loadData时,在控制台中出现了这个错误信息:Uncaught TypeError: callback is not a function.

Ich denkecallback()正在尝试调用它的父级,而它的父级是在client.on内部创建的函数,而不是loadData(callback)? Oder liegt das Problem woanders?

In meinem mounted中这样调用我的loadData():

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

P粉957661544P粉957661544213 Tage vor345

Antworte allen(1)Ich werde antworten

  • 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); 
        });
    });

    Antwort
    0
  • StornierenAntwort