首页  >  问答  >  正文

为什么我的嵌套函数中的回调函数无效?

我正在使用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粉957661544213 天前350

全部回复(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
  • 取消回复