Rumah  >  Soal Jawab  >  teks badan

Mengapakah fungsi panggil balik dalam fungsi bersarang saya tidak berfungsi?

Saya menggunakan fungsi panggil balik Socket.io, seperti ini:

loadData(callback) {

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

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

Tetapi apabila saya memanggil fungsi saya loadData时,在控制台中出现了这个错误信息:Uncaught TypeError: callback is not a function.

Saya rasacallback()正在尝试调用它的父级,而它的父级是在client.on内部创建的函数,而不是loadData(callback)? Atau adakah masalahnya terletak di tempat lain?

Dalam mounted中这样调用我的loadData() saya:

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

P粉957661544P粉957661544213 hari yang lalu346

membalas semua(1)saya akan balas

  • P粉645569197

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

    Cuba gunakan data (res) yang diterima daripada .find fungsi panggil balik dan hantarkannya ke fungsi panggil balik anda:

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

    balas
    0
  • Batalbalas